The present invention relates to a treadmill, and more particularly to a smart treadmill having a motion capture ability and a motion analysis ability.
A treadmill is a device widely used in exercise training and rehabilitation. Some treadmills are equipped with a force plate or a position detection sensor, and some treadmills control the speed of the treadmill according to the detection result (Patent Documents 1 to 9), but the treadmill is basically provided as a product with a single function (walking/running function). Therefore, in the case of analyzing and evaluating the walking motion of the subject on the treadmill, the motion of the subject is measured by placing the treadmill in a motion capturing space.
As a typical motion capture technique, optical motion capture and motion capture using inertial sensors are known. According to the optical motion capture, a plurality of optical markers coated with a retroreflective material are attached to the body of a subject, a plurality of cameras such as an infrared camera take images of the motion of the subject, and the motion of the subject is obtained from the movement trajectory of the optical markers. In the optical motion capture using an infrared light source, it is necessary to perform measurement in a space surrounded by cameras that is not affected by external light, and the measurement space is restricted.
For both the optical motion capture and motion capture using inertial sensors, it is necessary to attach multiple markers or multiple sensors to the body of the subject, and there are drawbacks in which the preparation for motion capture requires time and manpower, and natural motion may be hindered by constraint of the movement of the subject.
Recently, so-called marker-less motion capture technology has appeared. In the present specification, the term “marker-less” means not using markers or sensors attached to the body of a subject. As a marker-less motion capture technique, a method of estimating a joint position from a distance image (depth image) or a method of estimating a joint position from an RGB image is known. For example, the video motion capture technology (Non-Patent Document 1) is a technique for performing motion capture from video images of a plurality of RGB cameras in a completely unconstrained manner.
[1] T. Ohashi, Y. Ikegami, K. Yamamoto, W. Takano and Y. Nakamura, Video Motion Capture from the Part Confidence Maps of Multi-Camera Images by Spatiotemporal Filtering Using the Human Skeletal Model, 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, 2018, pp. 4226-4231.
The present invention seeks to provide a high functionality treadmill by combining a treadmill with marker-less motion capture.
The present invention relates to a treadmill integrated with motion capture comprising:
a frame;
an endless belt that provides a walking surface on which a subject stands;
a belt drive unit;
a plurarity of cameras provided on the frame in which orientations and/or locations of cameras are adjustable; and
a motion data acquisition unit that acquires motion data of the subject markerlessly using image information obtained from each camera image.
In one aspect, the treadmill comprises a motion analysis unit that analyzes the motion of the subject using the motion data.
In one aspect, the motion analysis unit analyzes the motion of the subject by using the operation information of the endless belt (velocity information or the incline of the belt) in addition to the motion data.
In one aspect, the treadmill comprises a control unit that controls the operation of the treadmill based on the motion data.
The operation of the treadmill includes the rotation of the endless belt and the incline of the endless belt. By controlling a rotary drive unit of the endless belt and an incline drive unit of the endless belt, it is possible to control the traveling speed (belt speed) of the endless belt and the incline of the endless belt.
In one aspect, the control unit comprises a data generation unit that generates input data based on the motion data; and a control signal generator that generates a control signal according to the input data, wherein the control unit outpus the control signal to the belt drive unit to control the belt speed.
In one aspect, the endless belt can be inclined by an incline drive unit, and the control unit outputs the control signal to the incline drive unit to control the incline of the belt.
In one aspect, the motion data acquisition unit obtains a spatial distribution of a likelihood of a position of each joint of the subject using image information of the subject obtained by each camera image, and obtains 3D pose of the subject at each frame based on the spatial distribution of the likelihood.
In one aspect, a distance between adjacent joints is obtained as a constant,
the motion data acquisition unit is configured to:
obtains one or a plurality of position candidates corresponding to each feature point based on the spatial distribution of the likelihood;
obtains each joint angle by performing an optimization calculation based on inverse kinematics using the candidates and an articulated structure; and
obtains positions of the feature points including the joints by performing a forward kinematics calculation using the joint angles.
In one aspect, the spatial distribution of the likelihood is used in the optimization calculation based on inverse kinematics.
In one aspect, the processing unit sets a search range for feature point position candidates using each feature point obtained at one or a plurality of frames, and obtains one or a plurality of feature point position candidates for each joint position in a frame at time t+1 using the spatial distribution of the likelihood obtained in the frame at time t+1.
In one aspect, the search range is a set of a predetermined number of points three-dimensionally distributed at a predetermined interval around the position of the feature point.
In one aspect, the processing unit is configured to:
smooth the positions of feature points in a temporal direction using a plurality of positions of the feature points obtained at a plurality of the other frames; and
obtain each joint angle of the subject by performing the optimization calculation based on inverse kinematics using the smoothed positions of feature points and the articulated structure of the subject.
The treadmill according to the present invention can measure the motion of a subject walking or running on the treadmill by simply providing a plurality of video cameras and executing a predetermined algorithm using a computer. With a simpler configuration, motion measurement and motion analysis can be performed in real time, and there is no need to attach markers to the subject or prepare to provide an elaborate motion capturing space. The burden on both the subject wearing the markers and a physiotherapist is greatly reduced, and the motion measurement and motion analysis of the subject can be performed with almost the same preparation as when using a normal treadmill.
According to the present invention, by combining the treadmill with marker-less motion capture, it is possible to deal with any kinds of control of the treadmill based on the motion data acquired by one means, namely, motion capture.
By performing motion analysis or treadmill operation control based on motion data measured by motion capture, the work that was conventionally performed visually by a physiotherapist, for example, in walking training, can be dealt with by the treadmill ability.
[A] Overall Configuration of Smart Treadmill
As shown in
As shown in
In the embodiments shown in
The treadmill comprises a belt drive unit including a motor located inside the front base 1, and the endless belt 4 is caused to run by driving the drive rollers with the belt drive unit. The rotation speed of the motor is variable, and the speed of the endless belt 4 can be adjusted by changing the rotation speed of the motor. An adjustment of the speed of the endless belt 4 can be operated from an operation unit (not shown). An operation unit is provided with, for example, a start button, a stop button, an acceleration button, and a deceleration button. The operation unit may be provided with an incline adjustment button for inclining the walking surface of the endless belt 4. An adjustment of the incline of the endless belt 4 is performed by, for example, the incline mechanism of the tread base 3 and the endless belt 4. It can be adjusted by operating an actuator (motor, hydraulic pressure, air pressure, etc.) of the incline mechanism by an instruction from the incline adjustment button to change the incline of the tread base 3. An incline direction of the belt by the incline mechanism is typically a longitudinal incline (the heights of the front and rear ends of the belt are different), but in addition to or instead of, the incline direction may be a lateral incline (the heights of the left and right ends of the belt are different). The speed of the endless belt 4 can be controlled by the control unit. Further, the incline of the endless belt 4 may be controlled by the control unit.
First support columns 5 are provided on the forward side of the left and right side frames 2, and second support columns 6 are provided on the rear side of the left and right side frames 2. A handrail frame 7 is provided between an upper end of the first support and an upper end of the second support. A front frame 8 including left and right columns 80 is erected at the forward end of the base frame, and a display 9 is supported by the front frame 8. In the present specification, in the treadmill, portions other than the endless belt 4, or a structural bodies (the front base 1, the side frame 2, the tread base 3, the first support columns 5, the second support columns 6, the handrail frames 7, the front frame 8) are collectively called a frame.
The treadmill according to the present embodiment comprises four cameras C which are arranged so as to surround the walking surface, and a subject on the running belt is photographed by four cameras having different viewpoints. In the embodiment shown in
According to the first embodiment, the cameras C1 and C2 (
According to the second and the third embodiments, the cameras C1 and C2 (
When the endless belt 4 of the treadmill can be inclined, the cameras are attached to an immovable portion that is not affected by the incline of the endless belt 4 during the measurement of the walking motion of the subject. For example, when the cameras are attached to any of the first support column 5, the second support column 6, the handrail frame 7, and the front frame 8, the pose and location of the camera remain unchanged even if the endless belt 4 and the tread base 3 are inclined.
The plurality of cameras C1 to C4 are attached to the frame with their poses and locations adjusted so that the whole body of the subject on the walking surface of the treadmill can be photographed. In the illustrated embodiment, four cameras C1 to C4 are shown, but the number of cameras is not limited. Further, a mirror may be provided to reduce the number of cameras. The camera may include a wide-angle lens or a fisheye lens. When the wide-angle lens or the fisheye lens is used, image distortion correction is appropriately applied, and a distortion-corrected image is used. Since the plurality of cameras C1 to C4 are incorporated in the frame of the treadmill, motion capture can be performed in substantially the same space as the space occupied by the treadmill.
A computer comprises a processor that processes data and a memory that stores data. The computer functions as a motion data acquisition unit that acquires the motion data of the subject (time series data of 3D pose) from the image data of the subject, a storage unit for the time series data of the subject obtained by the motion data acquisition unit, a motion analysis unit using the time series data of the subject, a storage unit for analysis data by the motion analysis unit, and a control unit for controlling the treadmill based on the analysis data. In one aspect, the computer is installed in a frame, for example, a front base 1. Further, the computer may comprise a local computer provided in the frame and a computer capable of wireless data communication between the local computer or a could-based computer. In one embodiment, a computer for motion capture, a computer for motion analysis, and a computer for controlling a treadmill are separately prepared.
The treadmill according to the present embodiment may be provided with a force plate located below the upper portion of the endless belt 4. A treadmills provided with force plates is known and disclosed, for example, in Patent Documents 1-6. Patent Documents 1 to 3 disclose a treadmill including a force plate using a strain gauge. Patent Documents 4 and 5 disclose a treadmill including a force plate using a capacitance type sensor. Patent Document 6 discloses a treadmill including a crystal oscillator force sensor capable of detecting in three directions. The time-series data acquired by the force plate when the subject walks or runs on the running belt is stored in the storage unit of the computer. The data acquired by the force plate can be used for analyzing motion by the motion analysis unit. Further, the treadmill may be provided with a non-weight bearing device.
[B] Marker-less Motion Capture
[B-1] Overall Configuration of Marker-less Motion Capture
A marker-less motion capture system according to the present embodiment comprises a plurality of video cameras mounted on a frame of a treadmill and a computer. As shown in
The video obtaining unit comprises a plurality of synchronized cameras, each camera images taken at the same time is sent to the heatmap generating unit, and the heatmap generating unit generates a heatmap for each camera image. The heatmap represents a spatial distribution of a likelihood of a position of a feature point in the body. The generated heatmap information is sent to the unit for obtaining joint positions and then joint positions are obtained by the unit for obtaining joint positions. The obtained joint position data is stored in a storage unit as time series data of the joint positions. The obtained joint position data is sent to the smoothing processing unit to obtain smoothed joint positions and joint angles. A pose of the subject can be determined by the smoothed joint positions, joint angles and the skeletal structure of the body of the subject, and the motion of the subject comprised of time series data of the pose may be displayed on the display.
The subject exercising on the walking surface of the treadmill comprises a link structure or an articulated structure. Typically, the subject is human, and the articulated structure is a skeletal structure of the body. It may be necessary to prepare learning date used for the heatmap generating unit corresponding to a subject, but a subject other than human (such as an animal other than human) is applicable. In addition, a subject is not limited to the whole body of the human but may be a part of the body.
A storage unit stores acquired data and processed data. For example, the storage unit stores time series data of the images taken by the video obtaining unit, and joint position data and joint angle data obtained by the unit for obtaining joint position. The storage unit may further store smoothed joint position data and smoothed joint angle data obtained by the smoothing processing unit, heatmap data generated by the heatmap generating unit and any other data generated during processing.
The storage unit further stores data determining the skeletal structure of the body of the subject. The data comprises a file for defining a skeletal mode of the body and distance data between the adjacent joints of the subject. The joint angles and the pose of the subject are determined by the joint positions in the skeletal model, which is an articulated object. The skeletal model used in the present embodiment is shown in
The display displays the motion video of the subject obtained by the video obtaining unit, time series skeletal images showing the pose of the subject obtained by motion capture and such. For example, skeletal image (pose of subject) data is generated in each frame by the processor of the computer by using a subject-dependent skeletal structure and obtained time series data of the joint angles and joint positions, and the skeletal image data is outputted at a predetermined frame rate to the display to show the motion video.
[B-2] Heatmap Generating Unit
A heatmap generating unit generates a two-dimensional or three-dimensional spatial distribution of a likelihood a position of a feature point (keypoint) in the body including joints based on an input image and represents the spatial distribution of the likelihood in a heatmap manner. In the embodiment, the likelihood obtained by the heatmap generating unit is given to each pixel on a 2D image, and the heatmap information from a plurality of viewpoints is integrated to obtain information on the probability of three-dimensionally existing position of the feature points. The heatmap shows varying values spreading over a space by color intensities in the space like a temperature distribution and enables visualization of the likelihood. In the present embodiment, it is sufficient that the heatmap generating unit obtains the spatial distribution of the likelihood of the positions of the feature points in the body including the joints, or heatmap information(each pixel of the image having a value representing the likelihood), and it is not necessary to display the heatmap.
The heatmap generating unit estimates the position of the feature point (typically joint position) on the subject body from a single input image as a heatmap by typically using a convolutional neural network (CNN). The convolutional neural network (CNN) comprises an input layer, an intermediate layer (a hidden layer) and an output layer and the intermediate layer is configured by deep learning using training data for two-dimensional mapping of a feature point to an existing position on an image.
As the heatmap generating unit, for example, OpenPose (Non-Patent Document 2), which is an open source software, can be used. According to OpenPose, 18 feature points (keypoints) in the body are set (see
OpenPose is applied to each RGB image obtained from a plurality of synchronized cameras to generates Part Confidence Maps (PCM) for 18 feature points. A method other than OpenPose can be used for the heatmap generating unit. Various methods have been proposed as techniques for generating a heatmap showing the probability of the position of a feature point on the subject body. For example, a method that has won a high ranking in the COCO Keypoints challenge (Non-Patent Document 3) can be adopted. Alternatively, a learning device for the heatmap generating unit may be created independently, for example by using images of a subject taken by cameras mounted on a treadmill as learning data, to construct a convolutional neural network (CNN).
Here, it may be possible to acquire the 3D pose of the subject at each time by estimating the two-dimensional coordinates of the joint position (the coordinates of the centroid of the heatmap) using the heatmap obtained from each camera image and three-dimensionally reconstructing them. The present invention does not exclude such a motion data acquisition method but it is difficult to preform motion measurement with high accuracy as with the optical motion capture technique due to erroneous estimation of two-dimensional coordinates of joint positions and such. The present embodiment adopts a method of three-dimensionally reconstructing the joint position using the heatmap information which can provide motion measurement with a high accuracy similar to that with the optical motion capture technique.
[B-3]Initial Setting of Motion Capture
Referring to
[B-3-1] Camera Calibration
To perform the motion capture using a plurality of cameras, camera parameters for three-dimensionally reconstructing a plurality of camera images are acquired. The camera parameters include intrinsic parameters such as a focal length distance and an optic center, extrinsic parameters that represent the pose and position of the camera, and distortion parameters. Camera calibration for acquiring camera parameters may be conducted, for example, by placing a calibration device (a checker board, a calibration wand, etc.) having a known shape and dimensions in a space above the walking surface of the treadmill, taking pictures of the device by a plurality of cameras fixed to the frame with their poses and positions being adjusted, and performing optimization calculation using each camera image. The distortion parameters can be obtained at the same time as the intrinsic parameters. Camera parameters can be used to obtain a projection matrix for projecting an arbitrary point in three-dimensional space onto the image plane of each camera. Using the projection matrix for each camera, the function (matrix) for converting the points of any three-dimensional shape to the pixel position of the projected plane of the camera Pi is obtained. The function (matrix) Pi is stored in the storage unit.
In one embodiment, calibration is performed using a double-face checkerboard with checker patterns on both sides. As shown in
p
chk2=chk2Rchk1)−1pchk2
By this conversion, the relative positions and orientations of the four cameras can be expressed and acquired in the same space Ochk1. Further, based on the height at which the checker patterns on the checker board are provided and the flat plate being installed perpendicular to the floor, it is possible to derive a homologous transformation matrix chk1Rfloor from the coordinate space Ochk1 to the world coordinate system Ofloor set on the floor. Therefore, the coordinates Pfloor in the world coordinate system Ofloor corresponding to a point expressed as pchk1 in the coordinate space Ochk1, can be expressed by the following equation.
p
floor=(chk1Rfloor)−1pchk1
From the above, through the coordinate spaces Ochk1 and Ochk2, the coordinates of all points in the space and the positions and orientations of all the cameras can be represented by the world coordinate system Ofloor. In the present embodiment, as shown in
[B-3-2]Correspondence Between Skeletal Model and Feature Points in Body on which Heatmap is Generated
Each joint of the skeletal model (
The joints of the skeletal mode of the present embodiment and 18 keypoints provided by OpenPose are not completely corresponded. For example, there are no keypoints provided by OpenPose which correspond to pelvis (base body), waist, chest, right clavicle, left clavicle, head of the skeletal model. Both the joints of the skeletal model of the present embodiment and 18 keypoints provided by OpenPose are typical feature points in the body and may not cover all possible feature points. Additional detail feature points may be provided. Alternatively, all of feature points of the body can be joints. Joint angles which cannot be determined with 18 keypoints provided by OpenPose can be determined by optimization considering a constraint such as a movable range. If the joints of the skeletal model and the feature points on which the spatial distribution of the likelihood is obtained correspond to each other from the beginning, such correspondence may not be necessary.
[B-3-3] Acquisition of Initial Pose and Distance between Joints of Skeletal Model An initial pose is obtained as a starting point for motion measurement of a subject. According to the embodiment, estimations of initial pose of skeletal model and distance between adjacent joints are obtained from the pixel positions of feature points that are calculated by applying OpenPose to an initial image. For example, the pixel position of the centroid of the initial heatmap for each feature point calculated by OpenPose is estimated as the two-dimensional position of the feature point. An initial position of the feature point in the three-dimensional space is estimated using the positions of the corresponding points on each camera image and the camera parameters. If it is determined that the initial position is erroneous, the initial setting is performed again. For example, erroneous estimation is determined by setting a threshold value for the PCM score of each coordinate when the estimated 3D position of the feature point is projected on each camera image.
An optimization calculation based on inverse kinematics requires a constant of the distance between adjacent feature points (a distance between joints), or a link length. However, since the link length differs for each subject, the link length of the skeletal model is calculated for each subject. It is desirable to perform scaling for each subject to improve the accuracy of motion capture of the embodiment. The skeletal model is a model of a standard human skeletal structure, and a skeletal model adapted for the subject body is generated by scaling the whole body or each section.
In this embodiment, each link length of the skeleton model is updated based on the obtained initial pose. With respect to the initial link length of the skeleton model, the scaling parameters used for updating the link length are calculated from the positions of the feature points based on the correspondence shown in
A link length may be obtained by another method or a link length obtained in advance may be used. Alternatively, if a skeletal model unique to the subject has been obtained, it may be used. The skeletal model unique to a subject can also be used in the motion analysis unit.
[B-4] Joint Position Obtaining Unit
The unit for obtaining joint positions is characterized in that the unit estimates position candidates for the joint position using the heatmap information obtained by the heatmap generating unit and updates the joint angles and joint positions of the skeletal model by performing optimization computation based on inverse kinematics using the candidates for the joint position. The unit for obtaining joint positions comprises a unit for obtaining candidates for joint positions estimating the candidates for the joint position based on the heatmap data, and an inverse kinematic calculation unit for calculating joint angles by performing an optimization calculation based on inverse kinematics using the joint position candidates, and a forward kinematics calculation unit calculating joint positions by performing the forward kinematics calculation using calculated joint angles.
The joint position candidate acquisition unit according to the present embodiment sets the search range for the joint position candidate using the 3D position of each joint obtained in one or a plurality of frames (for example, the joint position at a previous frame t), converts all or part of the points in the search range to the pixel positions of each camera image plane, and determine one or a plurality of jont position candidates for each joint position in a frame at time t+1 by using the spatial distribution of the likelihood obtained in a frame at time t+1.
A case where the search range is set using the joint position at the previous frame t will be described. Because of a minute change of a joint position in one frame, joint position t+1Jn exists in the vicinity of joint position tJn where a joint position of joint n in a frame at time t is tJn and a joint position of joint n in a frame at time t+1 is t+1Jn. Consider (2k+1)3 pieces of lattice points (k is a positive integer) distributed around tJn with a spacing s and a set of points is expressed as:
For example, as expressed in
Note that all points in tJn can be converted to the pixel coordinates of the projection plane of an arbitrary camera using a function P. Supposed that a function Pi denotes a function for converting one point tJn a, b, c in tJn to a pixel position of the image plane of the camera i and a function t+1Sni denotes a function for obtaining PCM values in a frame at time t+1 from the pixel position, the maximum point of the sum of the PCM values calculated from nc pieces of cameras can be regarded as the most probable position of the joint n in the frame at time t+1, and t+1Jnpied. is obtained by
This calculation is executed for nj pieces of all joints (18 pieces in the case of Open Pose).
Note that each joint position t+1Jn of the frame at time t+1 is a function of the joint angle t+1Q, as expressed in the equation (3), the joint angle t+1Q is obtained by an optimization calculation based on the inverse kinematics, and the joint position t+1Jn is obtained by a forward kinematics calculation.
Here, the sum of the PCM values in the prediction position of each joint is used for the weight of each joint in the optimization calculation based on the inverse kinematics t+1Wn as defined as:
Each joint position obtained by the joint position obtaining unit is stored in the storage unit as time series data of the joint positions. In the embodiment, each joint position obtained by the joint position obtaining unit is smoothed by the smoothing processing unit to generate a smoothed joint position.
In the present embodiment, inverse kinematics-based optimization calculations may be performed not only by searching for the maximum value according to the equation (2), but by searching for a plurality of points (for example, seven points) among all the lattice points as a group of joint position points defining a location where the PCM score is high.
As described above, in the present embodiment, as a method of searching for a point in the 3D space having the maximum PCM score, a set of points in the 3D space is projected onto a 2D plane, and the PCM values of the pixel coordinates are acquired. Then, the sum (PCM score) of the PCM values is obtained, and the point with the highest PCM score in the set of points is set as a joint position candidate as a point in the 3D space where the PCM score is maximum. The calculation for projecting a 3D point to each camera plane and calculating the PCM score is light. According to the search for joint position candidates of the present embodiment, a reduction in calculation amount and an exclusion of outliers are realized by limiting the search range using the information of the previous frame and reprojecting the three-dimensional positions of the lattice points in the search range onto a two-dimensional image (PCM).
[B-5] Smoothing Processing Unit
Acquisition of PCM and the optimization calculation based on the inverse kinematics performed in the unit for obtaining joint positions do not consider time series relationships so that it is not guaranteed that outputted joint positions are smooth in a temporal direction. The smoothing processing unit comprises a unit for obtaining smoothed joint positions which considers temporal continuity and performs a smoothing processing using time series information of joints. For example, when smoothing the joint positions obtained in a frame at time t+1, the joint positions obtained in the frame at time t+1, the joint positions obtained in a frame at time t and the joint positions obtained in a frame at time t−1 are typically used. Regarding the joint positions obtained in the frame at time t and the joint positions obtained in the frame at time t−1, the joint positions prior to the smoothing processing for the joint position in the frame at time t+1 are used but the joint positions after the smoothing processing for the joint position in the frame at time t+1 may be used. The unit for obtaining smoothed joint positions does not necessarily use adjacent sequential frames. To simplify the calculation, the smoothing processing is performed without using body structural information, so the link length, which is a distance between adjacent joints are not maintained. Then the smoothing processing while maintaining the link length is performed by the optimization calculation based on the inverse kinematics using the skeletal structure of the subject and smoothed joint positions to obtain each joint angles of the subject.
The unit for obtaining smoothed joint positions performs a temporal smoothing processing for the joint positions by a low pass filter. The smoothing processing with a low pass filter is applied to the joint positions obtained by the unit for obtaining the joint positions, and the optimization calculation is performed based on inverse kinematics by setting a smoothed joint position as a target position of each joint. A smoothness of the temporal change of joint position can be effective in the skeletal condition where a distance between joints is a constant. If each joint position obtained by the low pass filter is used as an output of video motion capture, the temporal smoothness of each joint can be obtained, but the condition that the distance between adjacent joints is constant may be broken. In this embodiment, the joint position after the application of this low pass filter is set as the target joint position for each joint, and the optimization calculation based on inverse kinematics is performed again. Equation (3) can be used for the optimization calculation based on inverse kinematics, but the optimization calculation based on inverse kinematics is performed assuming that the weights of all joints are uniform (but not limited to this). By so doing, the smoothness of the temporal change of the joint position adapted to the low pass filter can become effective the skeletal condition that each distance between joints is invariant.
An output of the smoothing processing unit includes, for example, joint angle information and skeletal structure, and joint position information that can be uniquely calculated from the two pieces of information. For example, when drawing CG, the movement of the body is drawn by the forward kinematics calculation using the joint angle information and a file of the skeletal structure of the body. The information included in the output of the smoothing processing unit may be stored in the storage unit.
[B-6] Flow of Acquisition of Motion Data of Subject
Steps for obtaining the joint angles and the positions of the feature points from input images in accordance with the embodiment will be described. A plurality of synchronized cameras capture the motion of the subject on the walking surface of the treadmill, and each camera outputs an RGB image at a predetermined frame rate. When the heatmap acquisition unit receives the input image, it generates a heatmap (spatial distribution of the likelihood of the joint position) for all the feature points in the body of the subject on the based on the input image.
The joint position acquisition unit searches for joint position candidates using the heatmap information of each image. In one aspect, when the heatmap generated from the input image in a frame at time t+1 is received, the search range is set based on the joint position in a frame at time t, and the joint position candidate is searched. Then, the same process is executed for all joints, and joint position candidates for all joints are acquired.
The optimization calculation based on the inverse kinematics is performed for position candidates for all the feature points. The position candidates and the joints of the skeleton model are corresponded with each other, and the skeleton model is adapted to a skeleton model unique to a subject. Based on the candidates and weights for the positions of the feature points, the joint angles and joint positions are acquired by executing the optimization calculation based on the inverse kinematics and the forward kinematics calculation.
A smoothing processing is applied to the obtained position of feature point by using joint positions in the past frames to smooth the temporal movement of the joint position. The optimization calculation based on the inverse kinematics by using the positions of the smoothed feature points is again performed to obtain the joint angles of the subject, and joint positions are obtained by performing the forward kinematics calculation by using the obtained joint angles.
A plurality of cameras are integrated into the frame of the treadmill so as not to install cameras and attach markers to the subject. In addition, a treadmill integrated with motion capture can be provided in substantially the same space as the space occupied by the treadmill.
[C] Motion Analysis Unit
The motion data acquisition unit acquires time-series data of the 3D pose of the subject during walking on the walking surface. The 3D pose of the subject in each frame is defined by the three-dimensional coordinates of all the feature points (joint positions). The motion analysis unit performs various motion analysis using the time series data of the 3D pose of the subject. The motion analysis unit executes gait analysis using, for example, three-dimensional motion measurement. For example, it is possible to determine the subject stumbling in the anteroposterior direction or the lateral direction from the center of gravity position and sway data of the center of gravity. A Lissajous figure for the position of the center of gravity of the subject or the position of a certain part of the body (for example, the position of a joint) may be generated. In addition, the motion analysis unit estimates the muscle tension and muscle activity of the subject during walking, visualizes and displays them on the display.
To exemplify the information that can be acquired by motion analysis, the position of the center of gravity of the subject in each frame, the time-series data of the position of the center of gravity of the subject, the sway data of the center of gravity of the subject, the sway data of a predetermined part of the body of the subject, velocity and acceleration of the whole or part of the body of the subject, variation in joint angle of certain joints of the body of the subject, a stride length, a difference between left and right stride lengths, Lissajous figures of the position of the center of gravity of the subject and the position of a certain part of the body, and the other existing walking movements Information obtained by three-dimensional motion analysis can be mentioned. Motion analysis can be performed by using any one or a combination of a plurality of these pieces of information.
The motion analysis unit can perform motion analysis using the operation information of the treadmill in addition to the motion data acquired by the motion data acquisition unit. The operation information of the treadmill comprises, for example, the traveling speed and the incline angle of the endless belt when the subject walks on the walking surface. The motion data of the subject and the operation data of the treadmill are stored in the storage unit in synchronization. For example, by quantifying or visualizing the movement of the whole body including the movement of the upper body such as the movement of the arm and shoulder of the subject in detail in synchronization with the treadmill, the effect of rehabilitation that appears as smooth movement of the whole body can be quantified. In addition, the swing of the center of gravity of the subject, the movement of the foot, and the movement of the treadmill can be observed in conjunction with each other. In addition, by observing the change in the movement of the whole body of the subject when the running speed of the endless belt of the treadmill is changed, it is possible to evaluate the effect of rehabilitation that cannot be observed only by the treadmill or motion capture.
When the treadmill is provided with a force plate, the motion analysis unit may perform motion analysis using the information acquired by the force plate. For example, the landing and leaving of the foot may be detected and used for motion analysis. Further, the biological information (heart rate, oxygen uptake, etc.) of the subject during walking may be acquired, and the biological information may be used in the analysis of the motion analysis unit.
By interpolating a temporal displacement between frames for of all degrees of freedom of the skeleton acquired by motion capture with a continuous function, the displacement of all degrees of freedom of the skeleton at each frame time, a velocity as a time derivative of the displacement, and acceleration as a time derivative of velocity are calculated. A position, angle, velocity, angular velocity, acceleration, and angular acceleration of each link calculated from them are sent to an inverse dynamics engine, and joint torques that match the motion are calculated by calculating mechanics information according to a motion of a skeleton with assumed masses. Each segment of the skeleton is a rigid body, and its mass, center of gravity position, and inertia tensors can be estimated from statistical measurement information of each part of a person using physique information. Alternatively, these parameters can be estimated by identification from the motion information of a subject. The physique information of the subject used for the estimation may be acquired in advance.
Tension forces of the wires distributed throughout the body, which model the muscles, are calculated using the biased and weighted quadratic programming. Non-Patent Document 4 can be referred to for the calculation of the wire tension. Measurement values of the force distribution when the antagonist muscles are used according to classified motions are obtained, and biases and weights with reference to the measurement values are used to obtain a solution that better approximates the actual muscle tension. An electromyogram or a force plate may be used in obtaining the muscle tensions.
A value obtained by dividing the acquired muscle tension by the assumed maximum muscle tension is used as a muscle activity, and an image of the whole body musculoskeletal system in which the muscle color is changed according to the muscle activity is generated, and is outputted as a certain frame rate (typically 30 FPS) to the display to display as a video. An image of skeletal pose is also generated and outputted to the display at a certain frame rate to display as a video. Further, changes in the values of each variable (for example, a joint angle, a velocity, a muscle tension, a floor reaction force, a center of gravity, etc.) are graphed and outputted. These outputs may be presented as analysis results by images and graphs and are used as records of muscle and body activities or motions of each part of the body during exercise. In this way, steps of taking images of a motion of a subject, obtaining three-dimensional pose of the subject during the motion, and estimating and visualizing the muscle activity required for the motion can automatically and efficiently be performed.
As described above, the motion analysis unit reproduces the time series information of the 3D pose of the skeleton of the subject walking or running on the walking surface of the treadmill. In addition, muscle tension and muscle activity during exercise can be estimated by performing kinetic calculations that take mass into consideration. By equipping a treadmill with a motion capture ability and a motion analysis ability, it is possible to complete what used to require an elaborate measurement environment with just the treadmill. In addition, until now, respective engineers for a treadmill, motion capture, motion analysis and such have collaborated to perform motion analysis, but since these can be performed altogether, it leads to labor saving and time saving. By using the marker-less motion capture according to the present embodiment, the burden on both the subject wearing the marker and a physiotherapist is greatly reduced, and it is possible to evaluate and analyze the motion of the subject, and visualize the results as appropriate with almost the same preparation as a normal treadmill.
[D] Treadmill Operation Control Unit
As shown in
In the present specification, the motion data includes a pose of the subject, time-series data of the pose of the subject, and information obtained based on the pose of the subject and/or the time-series data of the pose. The latter information does not prevent duplication with the information obtained by motion analysis. The motion data may be, for example, position information of the whole body or a part of the body of the subject (specified by one or more joint positions) in a certain frame. The information that can be acquired by motion analysis comprises, for example, the position of the center of gravity of the subject in each frame, the time-series data of the position of the center of gravity of the subject, the sway data of the center of gravity of the subject, the sway data of a predetermined part of the body of the subject, velocity and acceleration of the whole body or part of the body of the subject, variation in joint angle of a given joint of the body of the subject, a stride length, a difference between left and right stride lengths.
The operation of the treadmill comprises the rotation of the endless belt and the incline of the endless belt. The control of the rotation of the endless belt is to control the rotation speed (belt speed) via the drive unit (motor), and comprises deceleration and increase of the belt speed, maintaining of a speed of belt, stop of the belt after deceleration, stop of the belt, and reverse rotation of the endless belt. Further, the rotation speeds of the two endless belts traveling in parallel may be controlled independently.
The incline of the endless belt comprises, for example, the incline of the tread base that supports the upper part of the endless belt and the endless belt via the drive unit (motor). The change in incline of the belt comprises the increase of an incline angle of the endless belt (the walking surface may become an uphill or a downhill), reduction of an incline angle (movement from the inclined state to the flat state), and maintaining of an incline angle (including the flat state). The incline of the endless belt may include a lateral incline in addition to a vertical incline.
The control unit that controls the operation of the treadmill will be described in detail with reference to
In one embodiment, the control unit controls the operation of the treadmill when an abnormal state or anomaly (some accident has occurred in the moving object) of the subject is detected based on the motion data. The control program defines the information (input data) used for abnormality detection and the conditions for determining the abnormality. The control program, for example, detects a change from the normal state (specified based on the motion data) of the subject to an abnormal state (specified based on the motion data) or the continuation of the abnormal state, and determines an abnormality. Abnormalities in the subject can be detected, for example, by comparing the pose of the subject, changes in the pose of the subject, and changes in the center of gravity (fluctuations can be detected from changes in the pose and changes in the center of gravity) with predetermined reference values or threshold values. The operation control of the treadmill when an abnormality is detected is typically a deceleration of the belt speed or a stop after the deceleration.
In one embodiment, the control unit slows down the belt speed or stops the belt after deceleration when the subject is too close to the front or rear end of the walking surface. For example, based on the position information of the whole body or a predetermined part of the subject detected based on the motion data, it is detected that the subject deviates rearkward (y-axis direction) from a normal position (a predetermined area on the walking surface), and the belt speed may be reduced slowly. Alternatively, the belt speed may be slowly reduced by detecting that the position of the center of gravity of the subject deviates rearward (y-axis direction) from the normal position (a predetermined area on the walking surface).
For example, based on the position information of the whole body or a predetermined part of the subject detected based on the motion data, it is detected that the subject deviates forward (y-axis direction) from the normal position (a predetermined area on the walking surface), and the belt speed may be increased slowly. Alternatively, the belt speed may be slowly increased by detecting that the position of the center of gravity of the subject deviates forward (y-axis direction) from the normal position (a predetermined area on the walking surface).
After decelerating the belt speed as described above, the belt speed may be increased to return to the original speed upon detecting that the subject has returned to the normal position. Similarly, after increasing the belt speed, the belt speed may be reduced to return to the original speed upon detecting that the subject has returned to the normal position.
The control unit further detects that the subject deviates laterally (x-axis direction) from the normal position (a predetermined area on the walking surface) based on the position information of the whole body or a predetermined part of the target detected based on the motion data, and reduce the belt speed slowly or stop the belt after deceleration. Alternatively, the belt speed may be slowly reduced or the belt may be stopped after deceleration upon detecting that the position of the center of gravity of the subject deviates from the normal position (a predetermined area on the walking surface) in the lateral direction (x-axis direction). Alternatively, the belt speed may be slowly decelerated or the belt may be stopped after deceleration upon detecting the magnitude of the acceleration information or the magnitude of the sway of the center of gravity of a part of the subject.
Further, when the belt is in the uphill posture, the control unit may reset the incline of the belt to slowly return to a flat state, and/or reduce the belt speed slowly or stop the belt after deceleration upon detecting that the subject is positioned rearward from the normal position (a predetermined area on the walking surface) based on the position information of the whole body or the predetermined part of the subject detected based on the motion data.
In a dual-belt treadmill, the traveling speed of either or both belts may be adjusted. The operation control of the dual-belt treadmill will be described with reference to
The treadmill comprises a control unit that controls the operation of the treadmill according to the motion data of the subject acquired in real time by motion capture. The motion data of the subject walking on the two belts is acquired by marker-less motion capture. The motion data is typically time-series data of the 3D pose of the subject, and from the time-series data of the 3D pose, for example, the 3D position of the whole body, the 3D position of the part, the pose of the whole body, the pose of the part, motion of the whole body, motion of the part (limb, foot, etc.), velocity of all or part of the body of the subject, position of the center of gravity, sway of the center of gravity, and sway of the part can be obtained. It will be understood by those skilled in the art that these data are examples of data that can be used in the control unit, and that various information can be generated based on the time series data of the 3D pose depending on matters to be controlled. The control unit controls the operation of the treadmill according to the predetermined control program in response to the input of the data generated according to the control program.
In one embodiment, the control unit independently controls the traveling speed of each belt according to the motion data. For example, the speed of one of the belts may be adjusted according to the velocity of movement of the left and right legs and the difference in stride length between the left and right legs. In conventional walking rehabilitation for hemiplegic patients, the current situation is that a physiotherapist changes the speed of the running belt on the paralyzed side while observing the condition of the patient's paralyzed leg. In the dual-belt treadmill according to the present embodiment, the speed change (accelerating or decelerating) of the traveling belt according to the movement of the paralyzed leg can be automatically controlled by the control unit. Also, in response to the motion of the patient on the belt in which the body of the patient is leaning forward and the patient is falling down, the running belt may be stopped or the belt may be appropriately accelerated to correct the forward leaning state and lead to correct walking.
In one embodiment, the control unit controls the incline of both belts according to the motion data. For example, upon detecting a pose indicating that the patient has bent forward on the belt, in accordance with the pose, the incline drive unit may be controlled to adjust the incline of the belt.
The speed control by the control unit may include reverse rotation of the endless belt in addition to acceleration, deceleration, and stop of the belt. For example, for a patient who has difficulty in stepping forward on a paralyzed leg, the traveling belt may be rotated in the reverse direction when the paralyzed leg is stepped forward to support walking.
When the treadmill (whether single belt type or dual-belt) is provided with a movable portion (for example, operated by a motor), the operation of the movable portion may be controlled. For example, the handrail bar may be moved in the front-rear direction, and the handrail bar may be moved according to the motion of the hand or arm of the subject.
[E] Walking Rehabilitation Support System
For supporting walking rehabilitation, a method of controlling the belt speed of the treadmill using the walking data of the patient (subject) on the treadmill will be described.
A first control method is to drive the belt at a speed that matches the patient's athletic performance. If the walking speed is too slow for the patient's athletic ability, the effect of rehabilitation diminishes, and conversely, if the patient tries to walk at high speed forcibly, there is a risk of falling. The belt spped control according to this embodiment allows to output the belt speed as fast as possible within the range in which the patient can walk safely and comfortably. A second control method is to allow the patient to maintain an appropriate walking pose close to upright even if the patient has a difference in athletic ability between the left and right legs. If there is a difference in the athletic ability of both legs due to hemiplegia or the like, the person drags the leg with the lower athletic ability when walking. By making a difference in the left and right belt speeds of the treadmill, the difference in athletic ability of both legs is compensated. In this embodiment, a belt speed control method that combines the first control method and the second control method is provided.
The first control method will be described. As the first control method, two kinds of controls, position control and speed control are proposed. Position control will be described. If the belt speed is slow and the patient can walk comfortably, the patient moves forward on the treadmill. On the other hand, if the belt speed is high and the patient's walking speed cannot keep up, the moving belt pushes the patient back. A method is adopted in which the belt speed is matched to the walking speed of the patient by maintaining the walking position of the patient at a predetermined position (typically near the center) on the walking surface of the treadmill. As an index showing the walking position of the patient, the three-dimensional position estimation results of the left and right hip joints are output from the video motion capture. In the present embodiment, the midpoint of the left and right hip joints is regarded as the “lumbar center”, and the lumbar center is regarded as the pseudo body center. The y-coordinate of the lumbar center at time t can be obtained from the y-coordinate yLplv(t) of the left hip joint and the y-coordinate yRplv(t) of the right hip joint at time t. In the present embodiment, the difference between the y-coordinate average value of the lumbar center and the target value yrefplv of the lumbar center during one walking cycle (for example, 1 second) Δyplv(t)
Δyplv(t)=
is controlled to approach zero. The target value yrefplv is set according to the coordinate system set at the time of calibration, and in this embodiment, yrefplv=0 mm.
Speed control will be explained. When the belt speed and the patient's walking speed are perfectly balanced, the patient's walking position is kept constant on the treadmill. That is, the moving velocity of the patient in the world coordinate system indicates a value close to zero. The belt speed is adjusted so that the patient's velocity in the world coordinate system is zero. At time t, the average value of the velocity vplv(t) in the y direction of the lumbar center in the world coordinate system over the past c seconds is expressed as follows.
Control is performed so that this value approaches zero.
The second control method will be described. When there is a difference in athletic ability between the patient's left and right legs, which causes the patient to be in a walking pose in which the patient drags one leg, and a difference between the motion ranges of both legs of the patient is occurred in an anteroposterior direction (y-axis direction). This is directly due to the difference in stride length between the left and right legs. By making a difference between the left and right belt speeds of the treadmill, the difference in the motion abilities of both legs is compensated to align the centers of the motion ranges of both legs. Assuming that the y-coordinates of the patient's left ankle and right ankle are detected as yL,ank(t) and yR,ank(t) in the video motion capture result at time t, the centers of the motion ranges of the left leg and right leg with respect to the y direction are obtained respectively as follows.
Here, ΔyLra(t) is defined as follows.
ΔYLRa(t)=
Since this ΔyLRa(t) represents a difference of the centers of the ranges of motion of both legs in the y direction, the second control method that brings Δy LRa (t) closer to zero is added to the position control or speed control in the first control method. That is, the second control method can be applied in combination with the position control or speed control of the first control method. The first control method (position control or speed control) can also be used for the exercise of an able-bodied person or an athlete.
The calculation method of the target belt speed will be described.
v
L,ref(0)=vR,ref(0)=3.0km/h
In the present embodiment, the belt speeds vL, ref(nf) and vR, ref(nf) at the time of seconds are updated for each f frame according to the following update formula using the motion data of the subject on the treadmill.
v
L,ref((n+1)ƒ)=vL,ref(nƒ)+ΔvL,ref(nƒ)
V
R,ref((n+1)ƒ)=VR,ref(nƒ)+ΔVR,ref(nƒ)
Here, ΔvL,ref(nf) and ΔvR, ref(nf) are correction terms for updating the belt speed.
The calculation method of ΔL,ref(nf) and ΔvR,ref (nf) will be described. First, e (t) is defined as follows.
Using two constants kp1 and kp2, Δp(t) is defined as follows.
Δp(t)=kp1e(t)+kp2(e(t)−e(t−ƒ+1))
Using two constants ks1 and ks2, A s (t) is defined as follows.
Δs(t)=ks1ΔyLRa(t)+ks2(ΔYLRa(t)−ΔYLRa(t−ƒ+1))
Using Δp (t) and Δs (t), Δv L, ref (nf) and Δy R, ref (nf) are defined as follows.
ΔvL,ref(nf)=Δp(nf)+Δs(nf)
ΔvR,ref(nf)=Δp(nf)−Δs(nf)
The values of kp1, kp2, ks1, and ks2 are appropriately set by those skilled in the art. For example, kp1=1.0, kp2=0.5, ks1=0.3, ks2=0.1. Δs shown in
Number | Date | Country | Kind |
---|---|---|---|
2019-236645 | Dec 2019 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/048346 | 12/24/2020 | WO |