WO2020054442A1 - 関節位置の取得方法及び装置、動作の取得方法及び装置 - Google Patents

関節位置の取得方法及び装置、動作の取得方法及び装置 Download PDF

Info

Publication number
WO2020054442A1
WO2020054442A1 PCT/JP2019/033859 JP2019033859W WO2020054442A1 WO 2020054442 A1 WO2020054442 A1 WO 2020054442A1 JP 2019033859 W JP2019033859 W JP 2019033859W WO 2020054442 A1 WO2020054442 A1 WO 2020054442A1
Authority
WO
WIPO (PCT)
Prior art keywords
joint
frame
feature point
input image
target
Prior art date
Application number
PCT/JP2019/033859
Other languages
English (en)
French (fr)
Inventor
中村 仁彦
渉 高野
洋介 池上
拓也 大橋
和輝 山本
健太郎 武本
Original Assignee
国立大学法人東京大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 国立大学法人東京大学 filed Critical 国立大学法人東京大学
Priority to US17/274,744 priority Critical patent/US11967101B2/en
Publication of WO2020054442A1 publication Critical patent/WO2020054442A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Definitions

  • the present invention relates to motion capture, and more particularly, to acquiring a joint position of a subject, acquiring a pose of a subject, acquiring and analyzing a motion of the subject.
  • Motion capture is an indispensable technology for acquiring and analyzing human motion, and is widely used in the fields of sports, medicine, robotics, computer graphics, computer animation, and the like.
  • an optical motion capture is well known.
  • Optical motion capture is based on the movement trajectory of the optical marker by attaching multiple optical markers coated with retroreflective material to the target body and shooting the movement of the target with multiple cameras such as infrared cameras. Get the target operation.
  • inertial sensor such as an acceleration sensor, a gyroscope, or a geomagnetic sensor
  • the above optical method and the method using the inertial sensor can acquire high-precision motion data, but since it is necessary to attach multiple markers and multiple sensors to the target body, it takes time to prepare for motion measurement. Disadvantageously, the movement of the object is restricted, and natural movement may be hindered. In addition, there is a problem that the technology is not widely available because the system and the device are expensive.
  • the optical motion capture has a drawback that it is difficult to acquire motion data of an operation in an outdoor or a wide space because a measurement place is limited.
  • Non-Patent Documents 1 to 5 can be exemplified as motion capture using a camera and a depth sensor. However, these methods have low temporal / spatial resolution performance of a laser that acquires depth data, and thus it is difficult to measure an object that moves outdoors, far, or at high speed.
  • Non-Patent Documents 6 to 11 video motion capture that analyzes RGB images from one viewpoint and acquires motion data has also been proposed.
  • This method can be used even under outdoor or distant conditions, and it is possible to increase the temporal and spatial resolution at a relatively low cost by selecting the performance of the camera.
  • it is often difficult to estimate the pose of a target due to occlusion in measurement from one viewpoint, and the accuracy is lower than that of optical motion capture using a plurality of cameras.
  • Non-Patent Document 12 Non-Patent Document 12
  • PCM Part Confidence Maps
  • Non-Patent Document 14 which calculates a vector field representing the direction of an adjacent joint and extends the above method to estimate joint positions in real time for multiple people. It was developed based on this. Various methods have been proposed to obtain a heat map (PCM in OpenPose), which is a spatial distribution of likelihood representing the likelihood of each joint position, and a method of estimating the position of a human joint from an input image has been proposed. There is also a contest for competing for accuracy (Non-Patent Document 15).
  • the object of the present invention is to perform high-precision motion measurement without a marker regardless of indoors, outdoors, and clothes.
  • a target having a multi-joint structure has a plurality of feature points on the body including a plurality of joints, and a distance between adjacent feature points is obtained as a constant, Acquiring a spatial distribution of likelihood of certainty of the position of each feature point from one or a plurality of input images taken at the same time, Using the spatial distribution of the likelihood, obtain position candidates of one or more feature points corresponding to each feature point, By performing optimization calculation based on inverse kinematics using the candidate positions of the feature points and the multi-joint structure of the target, to obtain each joint angle of the target, By performing a forward kinematics calculation using the joint angle, to obtain the position of a feature point including the target joint, A method of acquiring a joint position.
  • the feature point position candidate is obtained by using the spatial distribution of the likelihood obtained at frame t + 1, using the neighborhood space of the position of each feature point obtained at frame t as a search range.
  • the search range of the feature point position candidate in the acquisition of the feature point position candidate is in addition to or instead of the position of each feature point acquired in the frame t. This is a space near the position of a feature point acquired in one or more frames and / or one or more frames after frame t + 2.
  • the search range is a predetermined number of point groups distributed three-dimensionally at predetermined intervals around the position of the feature point.
  • the spatial distribution of the likelihood is used in the optimization calculation based on the inverse kinematics.
  • the position of the feature point is smoothed in the time direction using the positions of a plurality of feature points acquired in a plurality of other frames,
  • Each joint angle of the target is obtained by performing an optimization calculation based on inverse kinematics using the positions of the smoothed feature points and the multi-joint structure of the target.
  • the position of a feature point including the target joint is obtained by performing forward kinematics calculation using the joint angle.
  • the method includes a preprocessing step based on information obtained from a frame earlier than the input image,
  • the pre-processing step includes: (a) rotation of the input image, (b) trimming or / and reducing the input image, (c) masking of the input image, (d) input image selection by camera selection, (e) stitching of the input image, At least one process.
  • the pre-processing includes rotation of the input image, Obtaining a tilt with respect to the erect pose of the subject's body in a frame earlier than the input image, Rotating the input image according to the inclination to an erect posture or a posture close to erect, Obtaining the spatial distribution of the likelihood based on the rotated image, Rotating the image in which the spatial distribution of the likelihood is obtained and returning to the original image, including,
  • the present invention provides an operation acquisition method, wherein the joint angle and the joint position are acquired in each frame by using the joint position acquisition method, thereby acquiring time-series data of the target joint angle and joint position.
  • the joint position acquisition device adopted by the present invention includes a storage unit and a processing unit, In the storage unit, a file defining a multi-joint structure having a plurality of feature points on the body including a plurality of joints, and a distance between adjacent feature points are stored as constants.
  • the processing unit includes: Acquiring a spatial distribution of likelihood of certainty of the position of each feature point from one or a plurality of input images taken at the same time, Using the spatial distribution of the likelihood, obtain position candidates of one or more feature points corresponding to each feature point, By performing optimization calculation based on inverse kinematics using the candidate positions of the feature points and the multi-joint structure of the target, to obtain each joint angle of the target, By performing a forward kinematics calculation using the joint angle, to obtain the position of a feature point including the target joint, It is configured as follows.
  • the present invention also includes the joint position acquisition device, and acquires the joint angle and the joint position in each frame, thereby acquiring time-series data of the target joint angle and the joint position. Provided as a device.
  • the present invention is also provided as a computer program that causes a computer to function as a storage unit and a processing unit of the above device, or a computer-readable medium storing the computer program.
  • the present invention makes it possible to perform motion capture from a camera image without using a marker regardless of indoors, outdoors, and clothes.
  • FIG. 1 is an overall view of a motion capture system.
  • FIG. 2 is a schematic diagram illustrating a hardware configuration of a motion capture system.
  • 6 is a flowchart illustrating a process of processing an input image. It is a flowchart which shows the process process of camera calibration, and acquisition of the initial attitude
  • 9 is a flowchart illustrating a process of acquiring a PCM by rotating an input image.
  • FIG. 9 is a flowchart illustrating a process of motion analysis using motion capture.
  • the left figure shows the skeletal model according to the present embodiment, and the right figure shows the features of OpenPose. It is a figure which illustrates the point group which is a search range.
  • the motion capture system has a moving image acquisition unit that acquires a target operation, and an image acquired by the moving image acquisition unit.
  • a heat map acquisition unit that acquires heat map information that displays the degree of certainty of the position of a feature point (Keypoints) including a joint position with color intensity based on the heat map information acquired by the heat map acquisition unit
  • a joint position obtaining unit that obtains a target joint position using the same, a smoothing processing unit that smoothes the joint position obtained by the joint position obtaining unit, a skeleton structure of the target body, and an image obtained by the moving image obtaining unit
  • a storage unit for storing time-series data of the joint position obtained by the joint position obtaining unit, and a target image and a target pose obtained by the moving image obtaining unit.
  • joint is used as a representative of the feature points in this specification and the drawings, and the description of “joint” refers to feature points other than joints. Note that this also applies to
  • the hardware of the motion capture system includes a plurality of cameras that constitute the moving image acquisition unit, one or more local computers that acquire camera images, and one or more local computers that are connected to them via a network. It comprises a computer and one or more displays.
  • a camera image is acquired by associating one local computer with one camera, and at the same time, a heat map acquisition unit is configured. Thereafter, the joint position acquisition unit, the smoothing processing unit, and the storage unit Is composed of one or more computers connected by a network.
  • a local computer connected to a camera compresses an image as necessary, transmits the image over a network, and uses a connected computer to perform a heat map acquisition unit, the joint position acquisition unit, and the smoothing process. And the storage unit. Be composed.
  • Each computer includes an input unit, a processing unit, a storage unit (RAM, ROM), and an output unit.
  • Each camera is synchronized, and each camera image acquired at the same time is transmitted to the corresponding heat map acquisition unit, and the heat map acquisition unit generates a heat map.
  • the heat map represents a spatial distribution of likelihood of the likelihood of the position of a feature point on the body.
  • the generated heat map information is transmitted to the joint position acquisition unit, and the joint position acquisition unit acquires the joint position.
  • the acquired joint position data is stored in the storage unit as time-series data of the joint position.
  • the acquired joint position data is transmitted to the smoothing processing unit, and the smoothed joint position and the joint angle are acquired.
  • the pose of the subject is determined based on the smoothed joint position or joint angle and the skeleton structure of the subject's body, and the motion of the subject consisting of time-series pose data is displayed on a display.
  • the moving image acquisition unit includes a plurality of cameras and is synchronized using, for example, an external synchronization signal generator.
  • a method of synchronizing a plurality of camera images is not limited.
  • a plurality of cameras are arranged so as to surround the object, and a multi-view moving image of the object is acquired by simultaneously shooting the object with all or some of the cameras.
  • a 60 fps, 1024 ⁇ 768 RGB image is acquired from each camera, and the RGB image is transmitted to the heat map acquisition unit in real time or non-real time.
  • compression or encryption may be performed depending on the image content or application.
  • the time series data of the image may be recorded in the storage unit.
  • the time-series data of the image may be displayed on a display in real time or non-real time as a moving image.
  • the moving image acquisition unit includes a plurality of cameras, and a plurality of camera images acquired at the same time are transmitted to the heat map acquisition unit.
  • the heat map obtaining unit generates a heat map based on the image input from the moving image obtaining unit.
  • the moving image acquisition unit may be configured by one camera.
  • this one camera outputs a camera image having depth information.
  • the heat map acquisition unit generates a heat map from a camera image including one piece of depth information, the likelihood of a three-dimensional position of a feature point on the body is learned for the one image.
  • a heat map is generated using a convolutional neural network (CNN) or the like.
  • CNN convolutional neural network
  • Non-Patent Document 9 Research on generating a human three-dimensional pose from a single input image has also been performed (Non-Patent Document 9). For example, using this research, a single camera image generated by a single camera has been used. A heat map may be generated.
  • the camera constituting the moving image acquisition unit is a fixed camera, but may be a movable camera.
  • camera calibration is performed in parallel by a method such as SLAM (Simultaneous Localization and Mapping) in each frame.
  • SLAM Simultaneous Localization and Mapping
  • Examples of the mode of the movable camera include rotation, linear motion, and arbitrary motion in two or three dimensions (including flight using a drone or the like).
  • the number of objects included in one image is not limited.
  • a plurality of human actions are captured by a camera, so that each image includes a plurality of humans, and in each image, one or an arbitrary number selected from the plurality of humans is included.
  • To obtain multiple human joint positions In the case where one image includes a plurality of persons, for example, by using PAF and PCM, it is possible to simultaneously acquire joint positions for each person.
  • the joint position is identified for each person at the beginning of the measurement, the joint position can be tracked with the continuity between frames, and thereafter, the individual can be identified.
  • the target In the operation acquisition by the motion capture system, the target has a link structure or an articulated structure.
  • the subject is a human
  • the articulated structure is a body skeletal structure.
  • the present invention can be applied to a target other than a human (for example, a non-human animal or a robot).
  • the target is not limited to, for example, the whole body of a human, but may be a body part.
  • the storage unit stores measurement data and processing data. For example, time-series data of an image acquired by the moving image acquisition unit, joint position data acquired by the joint position acquisition unit, and joint angle data are stored.
  • the storage unit further stores smoothed joint position data, smoothed joint angle data obtained by the smoothing processing unit, heat map data generated by the heat map obtaining unit, and other data generated in the process. You may.
  • the storage unit further stores data for determining the skeletal structure of the target body.
  • This data includes a file defining a skeletal model of the body and data on the distance between adjacent joints of the target.
  • the joint angle and the pose of the target are determined from the position of each joint of the skeleton model that is a multi-joint body.
  • the skeleton model used in this embodiment is shown in the left diagram of FIG.
  • the skeleton model shown in the left diagram of FIG. 10 has 40 degrees of freedom, but this skeleton model is an example.
  • a constant representing the distance between adjacent joints of a target can be acquired at the time of initial setting of motion capture.
  • the distance between the joints of the target may be obtained in advance by another method, or an already obtained distance between the joints may be used.
  • by using the skeleton structure data of the target body, in calculating the joint position it is possible to give a constraint condition specific to the skeleton structure that the distance between adjacent joints is not changed over time.
  • a moving image of the target acquired by the moving image acquisition unit, a time-series skeleton image representing the pose of the target acquired by motion capture, and the like are displayed.
  • skeleton image (target pose) data is generated for each frame using the skeleton structure unique to the target and the time-series data of the calculated joint angles and joint positions, and the skeleton image data is determined in a predetermined manner. And output it as a moving image on the display.
  • a display is shown as a typical output device, but the output device is not limited to the display, and may be another device (for example, a computer for analysis).
  • the heat map acquisition unit calculates, based on the input image, the two-dimensional or three-dimensional spatial distribution of the likelihood of the certainty of the positions of the key points on the body including the positions of the joints. Generate and display the spatial distribution of the likelihood in a heat map format.
  • the heat map is for displaying a value that spreads and changes in a space on a space in color intensity like a temperature distribution, and enables visualization of likelihood.
  • the likelihood value is, for example, 0 to 1, but the scale of the likelihood value is arbitrary.
  • the heat map acquisition unit holds the spatial distribution of the likelihood of the likelihood of the position of the feature point on the body including each joint, that is, the heat map information (each pixel of the image holds a value indicating the likelihood. Is necessary, and it is not always necessary to display the heat map.
  • the heat map acquisition unit typically uses a convolutional neural network (CNN) to determine the position of a feature point on the target body (typically, a joint position) from a single input image.
  • CNN convolutional neural network
  • a convolutional neural network (CNN) has an input layer, a hidden layer (hidden layer), and an output layer.
  • the hidden layer is constructed by deep learning using teacher data of the location of a two-dimensional map on the image of a feature point. ing.
  • the likelihood acquired by the heat map acquisition unit is given to each pixel on the two-dimensional image, and the three-dimensional existence of the feature point is obtained by integrating the heat map information from a plurality of viewpoints. Information on the certainty of the position can be obtained.
  • OpenPose (Non-Patent Document 12) which is open software can be used as the heat map acquisition unit.
  • 18 feature points (keypoints) on the body are set (see the right figure in FIG. 10).
  • the 18 feature points include 13 joints, a nose, left and right eyes, and left and right ears.
  • OpenPose uses a trained convolutional neural network (CNN) to generate off-line or real-time PartsConfidence Maps (PCM) of 18 key points on the body from one RGB image, Display in heat map format.
  • CNN convolutional neural network
  • PCM PartsConfidence Maps
  • PCM may be used for the spatial distribution or heat map of the likelihood of the likelihood of the position of the feature point on the body, but the position of the feature point on the body including each joint position may be used.
  • index representing the spatial distribution of likelihood likelihood is not limited to PCM.
  • Open Pose For each RGB image acquired from a plurality of cameras synchronized, Open Pose generates Part ⁇ Condence ⁇ Maps (PCM) of 18 feature points.
  • PCM Part ⁇ Condence ⁇ Maps
  • one local computer that generates a heat map for each camera is prepared, and the generation of the heat map is performed by parallel calculation. Even when the number of cameras increases, the increase in the amount of calculation can be suppressed by the parallel calculation.
  • the heat map data is transmitted from the heat map acquisition unit to the joint position acquisition unit (computer) via a network.
  • the heat map data may be compressed or encrypted as necessary. Since the heat map data is a sparse image, the generated heat map data can be efficiently compressed.
  • heat map data does not contain information that can identify individuals, if calculations up to the generation of the heat map are performed on a local computer directly connected to the camera, only heat map data that does not include personal information is transmitted over the network And it is secure.
  • a method other than OpenPose can be used for the heat map acquisition unit.
  • Various methods have been proposed as methods for obtaining a heat map representing the likelihood of the position of a feature point on the target body. For example, it is also possible to adopt a method of winning a higher rank in COCO ⁇ Keypoints ⁇ challenge (Non-Patent Document 15).
  • a learning device for the heat map acquisition unit may be created independently to construct a convolutional neural network (CNN).
  • [C-1] Camera Calibration The internal parameters and external parameters of the camera are acquired from the calibration image, and the distortion of the input image is corrected from these camera parameters. Since the calibration of the camera is well known to those skilled in the art, a detailed description thereof will be omitted. Camera parameters such as internal parameters and external parameters are stored in a storage unit of the system.
  • an arbitrary three-dimensional point is converted to a pixel position on the imaging plane of camera i.
  • the function (matrix) Pi is derived.
  • the function Pi is stored in the storage unit.
  • camera calibration is executed in parallel by a method such as SLAM (Simultaneous Localization and Mapping) in each frame, and the function (matrix) Pi is acquired in each frame. .
  • Camera parameters and the function acquired in calibration (matrix) P i is stored in the storage unit.
  • the joints in the skeletal model according to the present embodiment and the 18 feature points in OpenPose are both representative feature points on the body, and cover all possible feature points. It is not something. For example, more detailed feature points may be set. Alternatively, all the feature points on the body may be joints. A joint angle that cannot be determined only by the 18 feature points of OpenPose is determined as a result of optimization in consideration of constraints such as a movable range. If the joints of the skeletal model correspond to the feature points from which the spatial distribution of the likelihood is acquired from the beginning, this association is unnecessary.
  • the initial posture which is the starting point of the motion measurement of the acquisition target of the initial posture / inter-joint distance of the skeleton model, is acquired.
  • the estimation of the distance between the joints and the initial posture is obtained from the pixel position of the feature point calculated by applying OpenPose to the image after the distortion aberration correction.
  • an initial heat map is obtained based on an initial image obtained by each camera.
  • a ray connecting the optical center of the camera and the pixel position of the center of gravity of the initial heat map of each feature point calculated from OpenPose is considered from each camera, and the length of a common perpendicular line between the rays of the two cameras is considered.
  • the two vehicles which are minimized are determined, and when the length of the common perpendicular is equal to or less than a predetermined threshold (for example, 20 mm), the midpoint of the two feet of the common perpendicular is determined to be the position of the feature point on three dimensions.
  • a predetermined threshold for example, 20 mm
  • an initial position of a feature point in a three-dimensional space can be estimated by a DLT (Direct Linear Transformation) method using a position of a corresponding point on each camera image and a camera parameter. Since the three-dimensional reconstruction using the DLT method is known to those skilled in the art, detailed description will be omitted.
  • DLT Direct Linear Transformation
  • the optimization calculation based on inverse kinematics requires the constant of the distance between adjacent feature points (inter-joint distance), that is, the link length.
  • the link length differs for each object, the link of the skeleton model is different for each object. Calculate the length.
  • the skeletal model is a model of a standard skeletal structure of a human. The skeletal model is scaled for the whole body or for each part to generate a skeletal model suitable for a target body shape.
  • each link length of the skeleton model is updated based on the obtained initial posture.
  • a scaling parameter used for link length update is calculated from the position of each feature point based on the correspondence shown in FIG.
  • each of the link lengths 1-2, 2-3, 3-4, 3-6, 3-10, 6-7, and 10-11 has corresponding features. Since there are no points, the scale parameter cannot be determined in a similar way. For this reason, the length is determined using other link length scale parameters.
  • each scaling parameter is obtained from the average of the left and right so as to be equal to the left and right, and the initial link length of the skeleton model is equal to the left and right.
  • the scaling parameter is calculated using the midpoint of the feature point position of both ears as the location of the head joint.
  • the link lengths of the skeleton model are updated using the acquired scaling parameters.
  • the positions of the virtual joints are calculated based on the correspondence shown in Table 2. Note that the link length may be obtained by another method or may be obtained in advance. Alternatively, if a skeleton model unique to the subject has been obtained, it may be used.
  • the joint position acquisition unit estimates joint position candidates using the heat map information acquired from the heat map acquisition unit, and performs optimization calculation based on inverse kinematics using the joint position candidates.
  • the feature is that the joint angle and the joint position of the skeletal model are updated by execution.
  • the joint position obtaining unit is configured to estimate a joint position candidate based on heat map data, and to perform an inverse kinematics-based optimization calculation using the joint position candidate to calculate a joint angle.
  • a forward kinematics calculation unit that performs forward kinematics calculations using the calculated joint angles to calculate joint positions.
  • the joint position candidate acquisition unit calculates the joint position and the joint angle of the current frame (frame t + 1) using the joint position data of the previous frame (frame t).
  • Search range based on the joint position t J n at frame t is, for example, a point cloud in the vicinity in the space of the joint position t J n, determined by a distance s of the total number (2k + 1) 3 and the point in space near Is done.
  • a cube is shown in FIG. 11 in determining the search range
  • the shape of the search range is not limited.
  • the search may be performed in a spherical range.
  • the last frame on the basis of the joint position change of or a rectangular parallelepiped shape and length balls narrowed search range the center point of the search range may be performed search is or with another point from t J n.
  • the search range (for example, the center point, the parameter k, and the search width s) can be appropriately set by those skilled in the art.
  • the search range may be changed according to the type of exercise of the target. Further, the search range may be changed in accordance with the speed and acceleration of the movement of the target (for example, the change speed of the pose of the target). Further, the search range may be changed according to the frame rate of the camera that captures the image. Further, the search range may be changed for each joint part.
  • Each joint position t + 1 J n frame t + 1 is focused on is a function of the joint angle t + 1 Q, as shown in equation (3), the optimization calculation based on the inverse kinematics calculates a joint angle t + 1 Q, to calculate a joint position t + 1 J n by the forward kinematics calculation.
  • the weight t + 1 W n of each joint in the optimization calculation based on the inverse kinematics Is used the sum of the PCM values at the predicted position of each joint is used.
  • Each joint position acquired in real time or non-real time by the joint position acquisition unit is stored in the storage unit as time-series data of the joint position.
  • each joint position acquired by the joint position acquisition unit in real time or non-real time is subjected to smoothing processing by the smoothing processing unit to generate a smoothed joint position.
  • an algorithm described in Non-Patent Document 17 can be used.
  • Several methods are known to those skilled in the art as an optimization calculation method based on inverse kinematics, and a specific optimization calculation method is not limited.
  • One preferable example is a numerical solution method using a gradient method.
  • Equation (4) that defines the weight of each joint in the optimization calculation based on inverse kinematics is one preferable example and is an example.
  • the smoothing processing unit solves the optimization calculation based on inverse kinematics by making the weights of all the joints uniform after the smoothing.
  • a person skilled in the art may appropriately give a constraint condition in performing the optimization calculation based on the inverse kinematics.
  • the search range depends on the grid interval s, if there is a point having the highest PCM score between each grid point, the point cannot be found.
  • a plurality of points among all the grid points are used as a joint position point group to search for a place where the PCM score becomes high.
  • An optimization calculation based on inverse kinematics may be performed.
  • the joint position point group is, for example, seven points.
  • the numerical value of 7 is a value determined based on the expectation that a point having a high likelihood similarly exists before, after, below, right and left of the maximum point obtained by Expression (2).
  • the joint position may be obtained using a different grid interval s.
  • the search for the joint position candidate and the optimization calculation based on the inverse kinematics are performed twice by changing the value of s to 20 mm and 4 mm, and the joint position of the frame t is compared with the joint position of the frame t + 1.
  • video motion capture of all T frames is performed. This makes it possible to achieve both search speed and search accuracy.
  • FIG. 6 shows a joint position acquisition process using different lattice intervals.
  • the interval s1 is, for example, 20 mm.
  • the first joint position candidate in the frame t + 1 is obtained.
  • the optimization calculation based on the inverse kinematics and the forward kinematics calculation are executed using the first joint position candidate, and the second joint position candidate at the frame t + 1 is obtained.
  • the search for the joint position candidate in the frame t + 1 in the second search range based on the second joint position candidate in the frame t + 1 is performed. Do.
  • the interval s2 is, for example, 4 mm.
  • a third joint position candidate at frame t + 1 is obtained.
  • an optimization calculation based on inverse kinematics and a forward kinematics calculation are executed to obtain a joint angle and a joint position at frame t + 1.
  • the search range is determined based on the joint position acquired in the immediately preceding frame t.
  • the search range is determined.
  • a joint position acquired in one or more frames before, or one or more frames after frame t + 2 may be used.
  • the search range may be set based on the joint position in a frame two or more frames before, such as the frame t-1 and the frame t-2.
  • feature point positions may be separately searched for even frames and odd frames by parallel calculation, and smoothing processing may be performed on feature point position candidates output alternately.
  • the likelihood to be evaluated is an index of the accuracy of motion capture.
  • a threshold value is set for this likelihood, and if the likelihood is lower than the threshold value, it is considered that tracking of the target pose has failed, and the search may be performed by expanding the search range of the joint position candidate. This may be performed on a part of the pose of the whole body, or may be performed on the whole body. Also, if feature points are temporarily lost due to occlusion, etc., in the offline analysis, the heat map of the same object is determined by moving the time ahead, and the time is determined from that using the continuity of operation. The trajectory of the joint position of the portion where tracking failed due to occlusion may be recovered by going back. This can minimize occlusion.
  • a point group in the three-dimensional space is projected onto a two-dimensional plane, and the PCM value of the pixel coordinates is obtained. Then, the sum (PCM score) is obtained, and the point having the highest PCM score in the point group is determined as a joint position candidate as a point in the three-dimensional space where the PCM score becomes the maximum.
  • the calculation of projecting a three-dimensional point on each camera plane and calculating the PCM score is light.
  • the search for the joint position candidate according to the present embodiment is performed by limiting the search range using the information of the previous frame and reprojecting the three-dimensional position of the lattice point in the search range onto a two-dimensional image (PCM). And outlier elimination.
  • an area in which the subject can move (for example, 4m ⁇ 4m ⁇ 2m) is set.
  • the area is divided into cells at regular intervals (for example, cells of 400 ⁇ 400 ⁇ 200 are generated every 1 cm).
  • the PCM scores (sum of PCM values) of all cells are checked, and the cell having the maximum value is calculated.
  • the position of the cell is a position at that time at which the likelihood that a certain joint exists is high. This technique may be used for estimating the initial position of the joint.
  • the joint position candidate acquisition unit may estimate joint position candidates by performing three-dimensional reconstruction using the barycentric coordinates and the maximum value coordinates of PCM values detected from a plurality of two-dimensional heat maps. For this three-dimensional reconstruction, for example, the DLT method can be used. An optimization calculation based on inverse kinematics and a forward kinematics calculation may be applied to the estimated joint position candidate.
  • the joint position candidate acquiring unit may include a plurality of joint position candidate acquiring methods that are executed in parallel.
  • the smoothing processing unit The acquisition of PCM used in the joint position acquisition unit and the optimization calculation based on inverse kinematics do not consider the time-series relationship, so that the output joint position is smooth in time. There is no guarantee.
  • the smoothing joint position acquiring unit of the smoothing processing unit performs a smoothing process in consideration of temporal continuity using the time series information of the joint. For example, when smoothing the joint position acquired in the frame t + 1, typically, the joint position acquired in the frame t + 1, the joint position acquired in the frame t, and the joint position acquired in the frame t-1 The acquired joint position is used.
  • the joint position acquired in the frame t and the joint position acquired in the frame t-1 the joint position before smoothing is used, but the joint position after smoothing can also be used.
  • a joint position acquired at a later time for example, a joint position of a frame after frame t + 2 may be used.
  • the smoothed joint position acquisition unit does not necessarily need to use consecutive frames.
  • smoothing is performed without using body structure information. Therefore, the link length, which is the distance between adjacent joints, is not stored.
  • an optimization calculation based on inverse kinematics using the target skeletal structure is again performed, and the link length is stored by acquiring each joint angle of the target. Perform smoothing.
  • the smoothed joint position acquisition unit performs temporal smoothing of the joint position using a low-pass filter.
  • a smoothing process using a low-pass filter is applied to the joint position acquired by the joint position acquiring unit, and the smoothed joint position is set as a target position of each joint, and optimization calculation based on inverse kinematics is performed. This makes it possible to make use of the smoothness of the temporal change in the joint position under the skeletal condition that the distance between the joints is unchanged.
  • an IIR low-pass filter shown in Table 3 is designed, and smoothing processing is performed on the joint position by the low-pass filter.
  • the value of the cutoff frequency is a value that can be appropriately set by those skilled in the art.
  • the values in Table 3 can be empirically used.
  • the parameters of the smoothing filter may be adjusted according to the type of movement to be measured and the frame rate of the camera that captures the image. Due to the characteristics of the low-pass filter, the acquisition of the joint position passed through the low-pass filter has a problem that a delay of three frames corresponding to half of the filter order occurs, and the low-pass filter cannot be applied for three frames from the start of the joint angle update. .
  • the calculation time is delayed by two frames, but the spatial The smoothing processing of the joint positions of all the frames with few errors is performed.
  • each joint position obtained by the above filter is used as an output of video motion capture, temporal smoothness of each joint can be obtained, but the condition that the distance between adjacent joints is constant may be broken.
  • the joint positions after the low-pass filter adaptation are set again as the target joint positions of the respective joints, and the optimization calculation based on the inverse kinematics is performed again.
  • Equation (3) can be used for the optimization calculation based on the inverse kinematics, but the optimization calculation based on the inverse kinematics is performed with the weight of all the joints being uniform (although not limited to this). This makes it possible to make use of the smoothness of the temporal change of the joint position adapted to the low-pass filter under the skeletal condition that the distance between the joints remains unchanged.
  • the 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. For example, at the time of drawing CG, the body motion is drawn by forward kinematics calculation using the joint angle information and the body skeleton structure file. Information included in the output of the smoothing processing unit may be stored in the storage unit.
  • Pre-processing unit The motion capture system according to the present embodiment converts the information acquired in the previous frame (in one aspect, the previous frame, but is not limited to the previous frame) before calculating the heat map.
  • a pre-processing unit that performs pre-processing based on the pre-processing may be provided.
  • the pre-processing is performed by a computer that calculates a heat map from an input image, but may be performed by another computer.
  • the accuracy may decrease for an image in which a person is erect in an image and an image in which a person is in a recumbent posture or a posture close to an inverted posture. is there.
  • the estimation error of the lower body becomes large in an inverted motion such as a handstand or a rollover due to a data bias such that there are many images close to erect in the learning data used in the heat map acquisition unit.
  • the image is rotated according to the tilt of the body of the target in the previous frame so that the target appears in the image in a posture as close as possible to the erect state.
  • the lower body PCM is obtained from the rotated image.
  • the accuracy of the heat map information is significantly degraded when the target is in a predetermined first pose set (for example, lying down or upside down), and when the target is in a predetermined second pose set (for example, erect).
  • a predetermined first pose set for example, lying down or upside down
  • a predetermined second pose set for example, erect
  • heat map information is obtained by rotating the input image so as to be in the pose (erect) included in.
  • the determination of the target inclination is executed based on the input image in the previous frame.
  • the idea of acquiring heat map information by rotating an input image is a technique that can be generally applied to a heat map acquisition unit independently of the motion capture according to the present embodiment.
  • the rotation of the input image may not be required due to the accumulation of the learning data and the improvement of the convolutional neural network (CNN).
  • CNN convolutional neural network
  • the camera itself may be physically rotated in accordance with the movement of the target, and the function Pi may be acquired for each frame, so that the input image may not need to be rotated.
  • the step of rotating the input image to obtain the PCM will be described with reference to FIG.
  • the inclination of the target body in one aspect, the inclination of the trunk
  • a vector connecting the waist and neck of the target is calculated.
  • the three-dimensional coordinate positions of the Pelvis joint and the Neck joint of the skeleton model shown in the left diagram of FIG. 10 are calculated.
  • the function P i that converts points in the three-dimensional pixel position of the image plane of the camera i the vector connecting the body inclination (waist and neck of the subject by the camera i at frame t are orthogonally projected in the camera direction using Angle).
  • the necessity of image rotation processing is determined based on the tilt of the target body.
  • the image of the frame t + 1 is rotated in accordance with the obtained body tilt (the angle of the orthogonal projection vector) so that the orthogonal projection vector is directed vertically upward.
  • a set of a plurality of rotation angles for example, 0 degrees, 30 degrees, 60 degrees, 90 degrees,... 330 degrees in increments of 30 degrees
  • an angle range for example, 15 degrees
  • each rotation angle Corresponding from 30 to 45 degrees
  • the input image is rotated by an angle corresponding to the determined angle range.
  • Get PCM When the heat map is acquired offline, the PCM may be acquired for each rotation angle and stored in the storage unit, and the PCM may be selected according to the angle of the orthogonal projection vector.
  • the background In the rotated image, the background (four corners) is filled with black to facilitate input to the OpenPose network. Apply OpenPose to the rotated image and calculate the PCM of the target lower body. Return the rotated image to the original image orientation together with the PCM. Then, a search for a joint position candidate is performed.
  • the previous frame used to determine the rotation of the input image may be not only the frame t but also a frame before the frame t-1.
  • the preprocessing is not limited to the processing of rotating the input image according to the tilt of the target body.
  • Examples of pre-processing performed using three-dimensional position information of one or more objects in the previous frame include trimming or / and reduction, mask processing, camera selection, and stitching.
  • Trimming refers to trimming an image with reference to the position on the target image in the previous frame, and performing PCM calculation only on the trimmed portion. Reducing the PCM calculation time by trimming is advantageous for real-time acquisition of the target motion. Similarly, if the input image is sufficiently large, the PCM creation accuracy of OpenPose may not substantially change even if the image is reduced, so that the PCM calculation time may be reduced by reducing the image.
  • the mask processing as preprocessing is processing for performing PCM calculation on a target by applying mask processing to a person or the like other than the target when an input image includes a person or the like other than the target.
  • the mask processing may be executed by the joint position acquisition unit after the PCM calculation.
  • the camera selection is to select an input image to be used for motion acquisition or motion analysis by selecting a camera when the moving image acquisition unit includes a plurality of cameras. For example, when performing motion capture using a large number of cameras in a wide field, it is expected that the target will be reflected in preprocessing instead of performing motion acquisition and motion analysis using information from all cameras used. Is to select a camera to be performed, and perform motion capture using an input image from the selected camera. Further, stitching of an input image may be performed as preprocessing. Stitching refers to joining together camera images using acquired camera parameters and combining them into one seamless image when each camera has an overlapping area at each angle of view. As a result, even when the target partially appears at the end of the input image, the PCM can be satisfactorily estimated.
  • FIG. 9 illustrates a process of motion analysis using motion capture.
  • the motion of the target is acquired by the motion capture according to the present embodiment.
  • Time series data of the acquired joint angles and joint positions is acquired.
  • joint torque is obtained by inverse dynamics calculation, and the wire torque in a musculoskeletal model provided with a wire imitating a muscle is optimized using the joint torque (secondary programming or linear programming).
  • Method calculate the muscle activity using the wire tension, generate a musculoskeletal image to which a color corresponding to the degree of the muscle activity is assigned, and generate a musculoskeletal image with the visualized muscle activity. Images are output at a predetermined frame rate and displayed on a display as moving images. The details will be described below.
  • each segment of the skeleton is a rigid body, and its mass, center of gravity position, and inertia tensor 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 exercise information of the target. The physique information of the target used for estimation is acquired in advance.
  • the tension of the wires distributed throughout the body modeling the muscle is calculated using biased and weighted quadratic programming.
  • an electromyograph or a floor reaction force meter may be used.
  • the value obtained by dividing the acquired muscle tension by the assumed maximum muscle tension of the muscle is defined as the muscle activity, and an image of the whole body musculoskeletal system in which the color of the muscle is changed according to the muscle activity is generated, and the frame rate is calculated. (Typically 30 FPS) and display it on the display as video. Further, an image of a skeleton pose is generated, output at a frame rate, and displayed on a display as a video. Further, a change in the value of each variable (for example, joint angle, speed, muscle tension, floor reaction force, center of gravity position, etc.) is graphed and output.
  • each variable for example, joint angle, speed, muscle tension, floor reaction force, center of gravity position, etc.
  • These outputs are presented as an analysis result in the form of a video or a graph, and are used as a record of muscle or body activity during exercise or movement of each part of the body.
  • the processes from capturing the motion of the target, acquiring the three-dimensional pose of the target during the motion, and estimating and visualizing the muscle activity required for the motion can be automatically and efficiently performed.
  • the process of obtaining the joint angle and the position of the feature point from the input image according to the present embodiment will be described with reference to FIG.
  • the motion of the subject is photographed by a plurality of synchronized cameras, and each camera outputs an RGB image at a predetermined frame rate.
  • the processing unit determines whether or not preprocessing is necessary.
  • the pre-processing is, for example, whether or not the image needs to be rotated. When it is determined that the image needs to be rotated based on a predetermined determination criterion, a heat map is obtained with the input image rotated. If it is determined that rotation of the image is unnecessary, a heat map is obtained based on the input image.
  • a spatial distribution (heat map) of likelihood of the likelihood of the position of the feature point on the body is generated and transmitted to the processing unit.
  • a search for a feature point position candidate is performed.
  • a search range is set based on the positions of the feature points of the frame t, and a search for a candidate position of the feature point is performed. Then, the same processing is executed for all the joints, and joint position candidates of all the joints are obtained.
  • An optimization calculation based on inverse kinematics is performed on the position candidates of all feature points.
  • the position candidates of the feature points are associated with the joints (feature points) of the skeleton model, and the skeleton model is adapted to the skeleton model unique to the subject.
  • an optimization calculation based on inverse kinematics and a forward kinematics calculation are executed to obtain the joint angles and the positions of the feature points.
  • the temporal movement of the joint position is smoothed.
  • obtain the joint angle of the target By performing a smoothing process on the acquired feature point position using the joint position in the past frame, the temporal movement of the joint position is smoothed.
  • obtain the joint angle of the target Using the position of the smoothed feature points again to perform optimization calculation based on inverse kinematics, obtain the joint angle of the target, execute the forward kinematics calculation using the obtained joint angle, Get joint position of
  • the point where the PCM score is the maximum is considered to be the most appropriate pose in the current frame, and while acquiring the joint position candidate is executed, while allowing the PCM score to decrease, the subsequent processing is performed.
  • Optimization calculation based on inverse kinematics, and smoothing with a low-pass filter By performing optimization calculation based on inverse kinematics considering the skeletal structure of the object and the temporal continuity of the positions of the feature points, the estimation error of the position of the feature points can be reduced.
  • Adopting the algorithms represented by equations (1) to (4) in the joint position candidate acquisition unit in the present embodiment has the following advantages.
  • An ambiguous joint position having a spatial extent as a heat map is optimized by referring to a human skeleton shape (optimization calculation based on inverse kinematics).
  • searching for joint position candidates a plurality of spatially spread heat map information obtained from an input image from each camera is used as it is, and thereafter, by considering the target skeletal structure, joint position candidates are determined. Is used to determine the joint position by optimization calculation based on inverse kinematics.
  • the determination may be performed by optimization including prior knowledge as a condition.
  • prior knowledge For example, for hands and toes, an initial angle is given using prior knowledge that they exist at the tips of the wrist and ankle respectively. If hand or toe information is obtained, the initial angle is changed for each frame. If hand or toe information is not obtained, the hand or toe angle is changed from the angle of the previous frame. Fixed.
  • the motion capture according to the present embodiment performs three-dimensional reconstruction based on joint positions estimated from images of a plurality of cameras by using deep learning in consideration of the structure of a human skeleton and continuity of movement. Obtain a smooth motion measurement comparable to that of optical motion capture.
  • the motion capture can solve various problems as described below.
  • the motion capture according to the present embodiment makes it possible to perform marker-less motion capture from a plurality of camera images indoors, outdoors, regardless of clothes, and is a special device other than a video camera. Do not need.
  • the motion capture according to the present embodiment can be implemented as a service that returns a motion analysis result only by uploading a video image. Further, by using this video motion capture technology, it is also possible to newly create learning data (a file in which an input image and a feature point position are described) necessary for creating a heat map acquisition unit.
  • This motion capture system can be used for sports (exercise analysis, coaching, tactics suggestion, automatic scoring, detailed training log), smart life (general healthy life, watching over the elderly, suspicious behavior discovery), entertainment (live performance , CG creation, virtual reality games and augmented reality games), nursing care, medical care, and various other fields.

Abstract

対象が光学式マーカやセンサを装着することなく、光学式モーションキャプチャ技術に代えることのできる精度をもつモーションキャプチャを提供する。 多関節構造を備えた対象は、複数の関節を含む複数の身体上の特徴点を備え、各特徴点間の距離が得られており、1枚あるいは同時刻で撮影された複数枚の入力画像から各特徴点の位置の確からしさの尤度の空間分布を取得し、前記尤度の空間分布を用いて、各特徴点に対応する1つあるいは複数の特徴点の位置候補を取得し、前記特徴点の位置候補と前記対象の多関節構造を用いた逆運動学に基づく最適化計算を行うことで、前記対象の各関節角を取得し、前記関節角を用いて順運動学計算を行うことで、前記対象の関節を含む特徴点の位置を取得する。

Description

関節位置の取得方法及び装置、動作の取得方法及び装置
本発明は、モーションキャプチャに係り、詳しくは、対象の関節位置の取得、対象のポーズ取得、対象の動作の取得及び分析に関するものである。
モ―ションキャプチャは人間の動作の取得や解析に不可欠な技術であり、スポーツ、医療、ロボティクス、コンピュータグラフィックス、コンピュータアニメーション等の分野で広く用いられている。モーションキャプチャの方式としては、光学式モーションキャプチャが良く知られている。光学式モーションキャプチャは、再帰性反射材が塗布された複数の光学式マーカを対象の身体に取り付け、赤外線カメラなどの複数のカメラで対象の動作を撮影することで、光学式マーカの移動軌跡から対象の動作を取得する。
他のモーションキャプチャ方式として、加速度センサやジャイロスコープ、地磁気センサなどのいわゆる慣性センサを対象の身体に装着して、対象のモーションデータを取得することも知られている。
上記光学方式や慣性センサを用いた方式は、高精度のモーションデータを取得することができるが、対象の身体に複数のマーカや複数のセンサを装着する必要があるため、動作計測の準備に時間や人手がかかる、対象の動きが制限されて、自然な動きを妨げるおそれがある、という欠点がある。また、システムやデバイスが高額であることから、広く一般に利用できる技術になっていないという課題がある。光学式モーションキャプチャでは計測場所が限定されてしまうため、屋外や広い空間における動作のモーションデータを取得することが困難である、という欠点がある。
光学式マーカやセンサを装着しない、いわゆるマーカレスモーションキャプチャも知られている。カメラと深度センサを用いたモーションキャプチャとして、非特許文献1~5を例示することができる。しかし、これらの手法は深度データを取得するレーザの時間・空間分解能性能が低いため、屋外や遠方、高速移動する対象の計測を行うことが困難である。
深層学習により画像認識の手法と精度が飛躍的に向上したことにより、1視点からのRGB画像を解析してモーションデータを取得するビデオモーションキャプチャも提案されている(非特許文献6~11)。この手法は、屋外・遠方といった条件下でも利用可能で、カメラの性能を選択することで比較的低コストで時間・空間分解能を高くすることができる。しかし、1視点の計測ではオクルージョンによって対象のポーズ推定が困難になる場合が多く、精度に関しては複数台のカメラを用いる光学式モーションキャプチャに及ばない。
深層学習によって、単一のビデオ画像から人間の姿を見つけ関節位置の確からしさの尤度の空間分布を表すヒートマップを生成する研究も行われている。1つの代表的な研究がOpenPose(非特許文献12)である。OpenPoseでは1枚のRGB 画像から手首や肩といった複数人の特徴点(keypoints)の推定をリアルタイムに行うことができる。これはWeiらによる、CNNを用いて1枚のRGB 画像から各関節のPart Confidence Maps(PCM)を生成して各関節の位置を推定する研究(非特許文献13)、CaoらによるPart Affinity Fields(PAF)という隣接する関節の方向を表すベクトル場を計算して、上記手法を複数人に対してもリアルタイムで関節位置の推定を行うように拡張を行った研究(非特許文献14)、に基づいて開発されたものである。また、各関節位置の確からしさを表す尤度の空間分布であるヒートマップ(OpenPoseにおけるPCM)を取得する手法としては様々な手法が提案されており、入力画像から人間の関節位置を推定する手法の精度を競うコンテストも開催されている(非特許文献15)。
しかしながら、ヒートマップ情報を用いて関節位置の3次元再構成を行う手法であって、光学式モーションキャプチャのように高い精度で動作計測を行う技術は実現されてない。
Z. Zhang. Microsoft kinect sensor and its effect. IEEE MultiMedia, 19(2):4-10, Feb 2012. J. Shotton, A. Fitzgibbon, M. Cook, T. Sharp, M. Finocchio, R. Moore, A. Kipman, and A. Blake. Real-time human pose recognition in parts from single depth images. In Proceedings IEEE Conference on Computer Vision and Pattern Recognition. CVPR 2011, CVPR '11, pages 1297-1304, Washington, DC, USA, 2011. IEEE Computer Society. J. Tong, J. Zhou, L. Liu, Z. Pan, and H. Yan. Scanning 3d full human bodies using kinects. IEEE Transactions on Visualization and Computer Graphics, 18(4):643-650, April 2012. Luciano Spinello, Kai O. Arras, Rudolph Triebel, and Roland Siegwart. A layered approach to people detection in 3d range data.In Proceedings of the Twenty-Fourth AAAI Conference on ArtificialIntelligence, AAAI’10, pages 1625-1630. AAAI Press, 2010. A. Dewan, T. Caselitz, G. D. Tipaldi, and W. Burgard. Motion-based detection and tracking in 3d lidar scans. In 2016 IEEE International Conference on Robotics and Automation (ICRA), pages 4508-4513,May 2016. C. J. Taylor. Reconstruction of articulated objects from point correspondences in a single uncalibrated image. In Proceedings IEEE Conference on Computer Vision and Pattern Recognition. CVPR 2000, volume 1, pages 677-684 vol.1, 2000. I. Akhter and M. J. Black. Pose-conditioned joint angle limits for 3d human pose reconstruction. In Proceedings IEEE Conference on Computer Vision and Pattern Recognition. CVPR 2015, pages 1446-1455, June 2015. Dushyant Mehta, Helge Rhodin, Dan Casas, Oleksandr Sotnychenko, Weipeng Xu, and Christian Theobalt. Monocular 3d human pose estimation using transfer learning and improved CNN supervision. The Computing Research Repository, abs/1611.09813, 2016. Dushyant Mehta, Srinath Sridhar, Oleksandr Sotnychenko, Helge Rhodin, Mohammad Shaei, Hans-Peter Seidel, Weipeng Xu, Dan Casas, and Christian Theobalt. Vnect: Real-time 3d human pose estimation with a single RGB camera. Angjoo Kanazawa, Michael J. Black, David W. Jacobs, and Jitendra Malik. End-to-end recovery of human shape and pose. arXiv:1712.06584, 2017. Xiao Sun, Jiaxiang Shang, Shuang Liang, and Yichen Wei. Compositional human pose regression. The Computing Research Repository, abs/1704.00159, 2017. Openpose. https://github.com/CMU-Perceptual-Computing-Lab/openpose. Shih-En Wei, Varun Ramakrishna, Takeo Kanade, and Yaser Sheikh. Convolutional pose machines. In Proceedings IEEE Conference on Computer Vision and Pattern Recognition. CVPR 2016, 2016. Zhe Cao, Tomas Simon, Shih-En Wei, and Yaser Sheikh. Realtime multi-person 2d pose estimation using part affinity fields. In Proceedings IEEE Conference on Computer Vision and Pattern Recognition. CVPR 2017, 2017. http://cocodataset.org/#keypoints-leaderboard Y. Nakamura, K. Yamane, Y. Fujita, and I. Suzuki. Somatosensory computation for man-machine interface from motion-capture data and musculoskeletal human model. Trans. Rob., 21(1):58-66, Feb 2005. K. Ayusawa and Y. Nakamura. Fast inverse kinematics algorithm for large dof system with decomposed gradient computation based on recursive formulation of equilibrium. In 2012 IEEE/RSJ InternationalConference on Intelligent Robots and Systems, pages 3447-3452, Oct 2012.
 本発明は、屋内、屋外、服装を問わずマーカレスで、精度の高い動作計測を行うことを目的とするものである。
 本発明が採用した技術手段は、
 多関節構造を備えた対象は、複数の関節を含む身体上の複数の特徴点を備え、隣接する特徴点間の距離が定数として得られており、
 1枚あるいは同時刻で撮影された複数枚の入力画像から各特徴点の位置の確からしさの尤度の空間分布を取得し、
 前記尤度の空間分布を用いて、各特徴点に対応する1つあるいは複数の特徴点の位置候補を取得し、
 前記特徴点の位置候補と前記対象の多関節構造を用いた逆運動学に基づく最適化計算を行うことで、前記対象の各関節角を取得し、
 前記関節角を用いて順運動学計算を行うことで、前記対象の関節を含む特徴点の位置を取得する、
 関節位置の取得方法、である。
 1つの態様では、前記特徴点の位置候補の取得は、フレームtで取得されている各特徴点の位置の近傍空間を探索範囲として、フレームt+1で取得された尤度の空間分布を用いて、フレームt+1における各関節位置の1つあるいは複数の特徴点位置候補を取得するものである。
 1つの態様では、前記特徴点の位置候補の取得における特徴点位置候補の探索範囲は、フレームtで取得されている各特徴点の位置に加えて、あるいは、代えて、フレームtよりも前の1つあるいは複数のフレーム、あるいは/および、フレームt+2以降の1つあるいは複数のフレームで取得されている特徴点の位置の近傍空間である。
 1つの態様では、前記探索範囲は、前記特徴点の位置を中心として所定間隔で3次元状に分布する所定数の点群である。
 1つの態様では、前記逆運動学に基づく最適化計算において、前記尤度の空間分布が用いられる。
 1つの態様では、前記特徴点の位置を、他の複数のフレームで取得された複数の特徴点の位置を用いて時間方向に平滑化し、
 平滑化された特徴点の位置と前記対象の多関節構造を用いた逆運動学に基づく最適化計算を行うことで、前記対象の各関節角を取得する。
 1つの態様では、前記関節角を用いて順運動学計算を行うことで、前記対象の関節を含む特徴点の位置を取得する。
 1つの態様では、前記入力画像よりも以前のフレームから取得された情報に基づく前処理ステップを備え、
 前記前処理ステップは、
(a)入力画像の回転、
(b)入力画像のトリミングあるいは/および縮小、
(c)入力画像のマスキング、
(d)カメラの選択による入力画像の選択、
 (e)入力画像のスティッチング、
 の少なくとも1つの処理を含む。
 1つの態様では、
 前記前処理は、入力画像の回転を含み、
 前記入力画像よりも以前のフレームにおける対象の身体の正立ポーズに対する傾きを取得すること、
 前記傾きに応じて入力画像を回転させて正立姿勢ないし正立に近い姿勢とすること、
 回転した画像に基づいて前記尤度の空間分布を取得すること、
 前記尤度の空間分布が取得された画像を回転させて元画像に戻すこと、
 を含む、
 本発明は、上記関節位置の取得方法を用いて、各フレームにおいて前記関節角及び前記関節位置の取得を行うことで、対象の関節角及び関節位置の時系列データを取得する、動作の取得方法として提供される。
 本発明が採用した関節位置の取得装置は、記憶部と処理部とを備え、
 前記記憶部には、複数の関節を含む身体上の複数の特徴点を備えた多関節構造を規定するファイルと、隣接する特徴点間の距離が定数として格納されており、
 前記処理部は、
 1枚あるいは同時刻で撮影された複数枚の入力画像から各特徴点の位置の確からしさの尤度の空間分布を取得し、
 前記尤度の空間分布を用いて、各特徴点に対応する1つあるいは複数の特徴点の位置候補を取得し、
 前記特徴点の位置候補と前記対象の多関節構造を用いた逆運動学に基づく最適化計算を行うことで、前記対象の各関節角を取得し、
 前記関節角を用いて順運動学計算を行うことで、前記対象の関節を含む特徴点の位置を取得する、
 ように構成されている。
 本発明は、また、上記関節位置の取得装置を備え、各フレームにおいて前記関節角及び前記関節位置の取得を行うことで、対象の関節角及び関節位置の時系列データを取得する、動作の取得装置として提供される。
 本発明は、また、コンピュータを、上記装置の記憶部、処理部として機能させるコンピュータプログラム、あるいは、当該コンピュータプログラムを記憶したコンピュータ可読媒体として提供される。
本発明は、カメラ映像から屋内、屋外、服装を問わずマーカレスで、モーションキャプチャを行うことを可能とする。カメラ映像から深層学習を用いて推定した関節位置から、対象の多関節構造(例えば骨格構造)と運動の連続性を考慮して3次元再構成を行うことで、従来の光学式モーションキャプチャに近い滑らかな運動計測を行うことを可能とする。
モーションキャプチャシステムの全体図である。 モーションキャプチャシステムのハードウェア構成を示す概略図である。 入力画像の処理工程を示すフローチャートである。 カメラキャリブレーション、骨格モデルの初期姿勢・関節間距離の取得の処理工程を示すフローチャートである。 関節位置候補取得部の処理工程を示すフローチャートである。 関節位置取得部(異なる格子間隔を用いる場合)の処理の工程を示すフローチャートである。 関節位置候補取得部の他の処理工程を示すフローチャートである。 入力画像を回転させてPCMを取得する工程を示すフローチャートである。 モーションキャプチャを用いた動作分析の工程を示すフローチャートである。 左図は本実施形態に係る骨格モデルを示し、右図はOpenPoseの特徴点を示す。 探索範囲である点群を例示する図である。
[A]本実施形態に係るモーションキャプチャシステムの全体構成
図1に示すように、本実施形態に係るモーションキャプチャシステムは、対象の動作を取得する動画取得部と、動画取得部で取得された画像に基づいて、関節位置を含む特徴点(Keypoints)の位置の確からしさの程度を色強度で表示するヒートマップ情報を取得するヒートマップ取得部と、ヒートマップ取得部で取得されたヒートマップ情報を用いて対象の関節位置を取得する関節位置取得部と、関節位置取得部で取得された関節位置を平滑化する平滑化処理部と、対象の身体の骨格構造、動画取得部で取得された画像の時系列データ、関節位置取得部で取得された関節位置の時系列データ等を記憶する記憶部と、動画取得部で取得された対象の画像や対象のポーズに対応する骨格構造等を表示するディスプレイと、を備えている。対象の身体上の特徴点は主として関節であるため、本明細書及び図面において、特徴点を代表して「関節」という文言を用いており、「関節」についての説明は、関節以外の特徴点にも適用される点に留意されたい。
本実施形態に係るモーションキャプチャシステムのハードウェアは、前記動画取得部を構成する複数のカメラと、カメラ画像を取得する1つあるいは複数のローカルコンピュータと、それらとネットワークで繋がった1つあるいは複数のコンピュータと、1つあるいは複数のディスプレイとからなる。1つの実施形態では、1つのカメラに1つのローカルコンピュータを対応させてカメラ画像を取得し、同時にヒートマップ取得部を構成し、その後、前記関節位置取得部、前記平滑化処理部、前記記憶部をネットワークで繋がった1つあるいは複数のコンピュータで構成する。また、別の実施形態では、カメラと繋がったローカルコンピュータが画像を必要に応じて圧縮して、ネットワークで送信し、繋がったコンピュータで、ヒートマップ取得部、前記関節位置取得部、前記平滑化処理部、前記記憶部を構成する。構成される。各コンピュータは、入力部、処理部、記憶部(RAM、ROM)、出力部を備えている。
各カメラは同期しており、同時刻で取得された各カメラ画像は対応するヒートマップ取得部に送信され、ヒートマップ取得部によってヒートマップが生成される。
ヒートマップは、身体上の特徴点の位置の確からしさの尤度の空間分布を表す。生成されたヒートマップ情報は関節位置取得部に送信され、関節位置取得部によって関節位置が取得される。取得された関節位置データは、関節位置の時系列データとして記憶部に格納される。取得された関節位置データは、平滑化処理部に送信され、平滑化関節位置、関節角が取得される。平滑化された関節位置ないし関節角、及び、対象の身体の骨格構造によって対象のポーズが決定され、ポーズの時系列データからなる対象の動作をディスプレイに表示する。
動画取得部は、複数のカメラからなり、例えば、外部同期信号発生器を用いて同期されている。なお、複数のカメラ画像を同期させる手法は限定されない。複数のカメラは対象を囲むように配置され、全部あるいは一部のカメラによって同時に対象を撮影することで対象の複視点動画を取得する。各カメラからは、例えば、60fps、1024×768のRGB画像が取得され、RGB画像がヒートマップ取得部にリアルタイム、あるいは、非リアルタイムで送信される。動画取得部で取得された画像データをネットワークを介してヒートマップ取得部に送信する場合には、画像内容や用途によっては、圧縮あるいは暗号化を行ってもよい。画像の時系列データを記憶部に記録してもよい。画像の時系列データは、動画としてリアルタイムあるいは非リアルタイムでディスプレイに表示してもよい。
本実施形態では、動画取得部は複数のカメラから構成され、同時刻で取得された複数枚のカメラ画像がヒートマップ取得部に送信される。ヒートマップ取得部は、動画取得部から入力された画像に基づいてヒートマップを生成する。なお、動画取得部は1台のカメラから構成してもよい。動画取得部を1台のカメラから構成する場合には、例えば、この1台のカメラは、奥行情報を備えたカメラ画像を出力する。ヒートマップ取得部が、1枚の奥行情報を備えたカメラ画像からヒートマップを生成する場合には、前記1枚の画像について、身体上の特徴点の3次元的な存在位置の確からしさが学習されている畳み込みニューラルネットワーク(CNN)等を用いてヒートマップを生成する。1枚の入力画像から人間の3次元ポーズを生成する研究も行われており(非特許文献9)、例えば、この研究を利用して、1台のカメラで生成された1枚のカメラ画像からヒートマップを生成してもよい。本実施形態では、動画取得部を構成するカメラは固定カメラであるが、可動カメラであってもよい。可動カメラを用いる場合には、毎フレームで、SLAM(Simultaneous Localization and Mapping)などの方法により、カメラのキャリブレーションを並行して実行する。可動カメラの態様としては、回転、直動、2次元ないし3次元上の任意の運動(ドローンなどを用いた飛行を含む)が例示される。
1枚の画像に含まれる対象の数は限定されない。1つの態様では、カメラによって複数人の人間の動作を撮影することで、各画像には、複数の人間が含まれており、各画像において、前記複数の人間から選択された1人あるいは任意数の複数の人間の関節位置を取得する。1枚の画像に複数人が含まれている場合に、例えば、PAFとPCMを用いれば、各人毎に関節位置を同時に取得することができる。また、計測初期時に各人毎に関節位置を識別すれば、その後はフレーム間の連続性で関節位置を追跡することで、各人を識別することができる。
モーションキャプチャシステムによる動作取得において、対象はリンク構造ないし多関節構造を備えている。典型的には対象は人間であり、前記多関節構造は身体の骨格構造である。ヒートマップ取得部で用いる学習データを対象に合わせて用意する必要があるが、人間以外の対象(例えば、人間以外の動物やロボット)にも適用し得る。また、対象は、例えば人間の全身に限定されるものではなく、身体の部分であってもよい。
記憶部には、計測データや処理データが格納される。例えば、動画取得部によって取得された画像の時系列データ、関節位置取得部によって取得された関節位置データ、関節角度データが格納される。記憶部には、さらに、平滑化処理部によって取得された平滑化関節位置データ、平滑化関節角度データ、ヒートマップ取得部により生成されたヒートマップデータ、その他処理過程で生成されたデータを格納してもよい。
記憶部には、さらに、対象の身体の骨格構造を決定するデータが格納されている。このデータには、身体の骨格モデルを規定するファイル、対象の隣接する関節間距離データが含まれる。多関節体である骨格モデルの各関節の位置から、関節角度や対象のポーズが決定される。本実施形態で用いた骨格モデルを図10左図に示す。図10左図に示す骨格モデルは40自由度であるが、この骨格モデルは例示である。後述するように、対象の隣接する関節間の距離を表す定数は、モーションキャプチャの初期設定時に取得することができる。対象の各関節間距離は他の手法で予め取得してもよく、あるいは、既に取得されている関節間距離を用いてもよい。本実施形態では、対象の身体の骨格構造データを用いることで、関節位置の算出において、隣接する関節間距離が時間的に不変という骨格構造特有の拘束条件を与えることができる。
ディスプレイには、動画取得部によって取得された対象の動画、モーションキャプチャによって取得された対象のポーズを表す時系列骨格画像などが表示される。例えば、コンピュータの処理部において、対象固有の骨格構造、算出された関節角及び関節位置の時系列データを用いて、フレーム毎に骨格画像(対象のポーズ)データが生成され、骨格画像データを所定のフレームレートで出力して動画としてディスプレイに表示する。図2では、典型的な出力装置として、ディスプレイを示したが、出力装置は、ディスプレイに限定されず、他のデバイス(例えば、分析用のコンピュータ)であってもよい。
[B]ヒートマップ取得部
ヒートマップ取得部は、入力画像に基づいて、各関節位置を含む身体上の特徴点(keypoints)の位置の確からしさの尤度の2次元あるいは3次元の空間分布を生成し、前記尤度の空間分布をヒートマップ形式で表示する。ヒートマップは、空間に広がって変化する値を温度分布のように色強度で空間上に表示すものであり、尤度の可視化を可能とする。尤度の値は例えば0~1であるが、尤度の値のスケールは任意である。本実施形態において、ヒートマップ取得部は、各関節を含む身体上の特徴点の位置の確からしさの尤度の空間分布、すなわち、ヒートマップ情報(画像の各ピクセルが尤度を表す値を保持している)が取得されていればよく、必ずしも、ヒートマップを表示することを要しない。
ヒートマップ取得部は、典型的には、畳み込みニューラルネットワーク(CNN)を用いて、入力された単一の画像から対象の身体上の特徴点の位置(典型的には関節位置)を、ヒートマップとして推定する。畳み込みニューラルネットワーク(CNN)は入力層、中間層(隠れ層)、出力層を備え、中間層は、特徴点の画像上への2次元写像の存在位置の教師データを用いた深層学習によって構築されている。
本実施形態では、ヒートマップ取得部で取得された尤度は、2次元の画像上の各ピクセルに与えられており、複数視点からのヒートマップ情報を総合して特徴点の3次元的な存在位置の確からしさの情報を得ることができる。ヒートマップ取得部で取得された尤度は、2次元空間の各点(x,y)が、3次元座標(X, Y, Z)を用いて、2次元情報を割り当てた場合には尤度λ=λ(x, y, fx(X,Y,Z), fy(X,Y,Z))を持ち、3次元情報を割り当てた場合には尤度λ=λ(x, y, X, Y, Z)を持つ。
ヒートマップ取得部として、オープンソフトウェアであるOpenPose(非特許文献12)を用いることができる。OpenPoseでは、身体上の18個の特徴点(keypoints)が設定されている(図10右図参照)。具体的には、18個の特徴点は、13個の関節と、鼻、左右の目、左右の耳からなる。OpenPoseは、訓練された畳み込みニューラルネットワーク(CNN)を用いることで、1枚のRGB 画像から18個の身体上の各特徴点(keypoints)のPart Confidence Maps(PCM)をオフラインあるいはリアルタイムで生成し、ヒートマップ形式で表示する。本明細書において、身体上の特徴点の位置の確からしさの尤度の空間分布ないしヒートマップについて、PCMという文言を用いる場合があるが、各関節位置を含む身体上の特徴点の位置の確からしさの尤度の空間分布を表す指標をPCMに限定するものでない点に留意されたい。
同期する複数のカメラから取得した各RGB画像に対し、OpenPoseによって18個の特徴点のPart Condence Maps(PCM)が生成される。本実施形態では、各カメラに対してヒートマップを生成する1台のローカルコンピュータを用意し、ヒートマップの生成を並列計算で実行する。カメラ数が増えた場合であっても、並列計算により計算量の増加を抑えることができる。ヒートマップデータはヒートマップ取得部から関節位置取得部(コンピュータ)へネットワークを介して送信される。ヒートマップデータの送信に際しては、ヒートマップデータを必要に応じて圧縮あるいは暗号化してもよい。ヒートマップデータはスパースな画像であるため、生成されたヒートマップデータを効率良く圧縮することができる。また、ヒートマップデータには、個人を識別可能な情報を含まないため、ヒートマップ生成までの計算をカメラに直結されたローカルコンピュータで行えば、個人情報を含まないヒートマップデータのみをネットワークで送信することができ、セキュリティ上も安全である。
ヒートマップ取得部には、OpenPose以外の他の手法を用いることができる。対象の身体上の特徴点の位置の確からしさを表すヒートマップを取得する手法としては様々な手法が提案されている。例えば、COCO Keypoints challenge(非特許文献15)で上位入賞した手法を採用することもできる。また、独自にヒートマップ取得部のための学習器を作成して、畳み込みニューラルネットワーク(CNN)を構築してもよい。
[C]本実施形態に係るモーションキャプチャシステムの初期設定
図3を参照しつつ、本実施形態に係るモーションキャプチャシステムにおける、カメラのキャリブレーション、骨格モデルの初期姿勢の取得、対象の関節間距離の取得について説明する。
[C-1]カメラキャリブレーション
キャリブレーション画像からカメラの内部パラメータ、外部パラメータを取得し、これらのカメラパラメータから入力画像の歪曲収差の補正を行う。カメラのキャリブレーションは当業者に周知なので、詳細な説明は省略する。内部パラメータや外部パラメータ等のカメラパラメータはシステムの記憶部に格納される。
焦点距離、光学中心、画像中心(光軸と投影面の交点)、カメラの内部パラメータ、外部パラメータなどを用いることで、任意の三次元上の点をカメラi の撮影面のピクセル位置に変換する関数(行列)Pi の導出を行う。関数Piは記憶部に格納される。なお、可動カメラを用いる場合には、毎フレームで、SLAM(Simultaneous Localization and Mapping)などの方法により、カメラのキャリブレーションを並行して実行し、毎フレームで上記関数(行列)Pi を取得する。キャリブレーションで取得したカメラパラメータや上記関数(行列)Pi は記憶部に格納される。
[C-2]骨格モデルとヒートマップが生成される身体上の特徴点との対応
骨格モデルの各関節(図10左図)と、ヒートマップ取得部における身体の特徴点(図10右図、a,o,p,q,rを除く)とを対応させる。対応関係を表1に示す。
Figure JPOXMLDOC01-appb-T000001
本実施形態に係る骨格モデルの関節と、OpenPoseにおける18個の特徴点は完全に一致してはいない。例えば、骨格モデルのpelvis(base body)、 waist、 chest、 right clavicle、left clavicle、Headに対応する特徴点は、OpenPoseには存在しない。なお、本実施形態に係る骨格モデルにおける関節、OpenPoseにおける18個の特徴点は、共に、身体上の特徴点の代表的な特徴点であって、可能性のある全ての特徴点を網羅しているものではない。例えば、さらに詳細な特徴点を設定してもよい。あるいは、全ての身体上の特徴点が関節であってもよい。OpenPoseの18個の特徴点だけでは決まらない関節角度については、可動範囲などの制約を考慮した最適化の結果として決定される。なお、骨格モデルの関節と、尤度の空間分布が取得される特徴点と、が初めから対応している場合には、この対応づけは不要である。
[C-3]骨格モデルの初期姿勢・関節間距離の取得
対象の動作計測の始点となる初期姿勢を取得する。本実施形態では、関節間距離・初期姿勢の推定を、歪曲収差補正後画像に対し、OpenPoseを適用することで算出された特徴点のピクセル位置から求める。先ず、各カメラで取得された初期画像に基づいて、初期ヒートマップが取得される。本実施形態では、カメラの光学中心と、OpenPoseから算出した各特徴点の初期ヒートマップの重心のピクセル位置とを結ぶ光線を各カメラから考え、2台のカメラの光線の共通垂線の長さが最小になる2台を決定し、その共通垂線の長さが所定の閾値(例えば20mm)以下のとき、その共通垂線の2つの足の中点を3次元上の特徴点の位置とするよう求め、これを用いて骨格モデルの関節間距離・初期姿勢の取得を行う。
特徴点の初期位置の推定手法については、当業者において様々な手法が採り得る。例えば、各カメラ画像上の対応する点の位置と、カメラパラメータを用いて、DLT(Direct Linear Transformation)法により、3次元空間上の特徴点の初期位置を推定することができる。DLT法を用いた三次元再構成は当業者に知られているので、詳細な説明は省略する。
逆運動学に基づく最適化計算には隣接する特徴点間の距離(関節間距離)の定数、すなわちリンク長が必要となるが、リンク長は対象毎に異なるため、対象毎に骨格モデルのリンク長を算出する。本実施形態に係るモーションキャプチャの精度を向上させるためには、対象毎にスケーリングを行うことが望ましい。骨格モデルは、人間の標準的な骨格構造のモデルであり、これを全身で、あるいは部位ごとにスケーリングして、対象の体型に適合した骨格モデルを生成する。
本実施形態では、得られた初期姿勢を基にして骨格モデルの各リンク長の更新を行う。骨格モデルの初期リンク長に対し、リンク長更新に用いるスケーリングパラメータを各特徴点の位置より、図10、表1の対応を基にして算出する。図10の左図におけるリンク長のうち、1-2、2-3、3-4、3-6、3-10、6-7、10-11、のそれぞれのリンク長については、対応する特徴点が存在しないためスケールパラメータが同様の方法では決まらない。このため、その他のリンク長のスケールパラメータを用いて長さを決定する。なお、本実施形態では、人体骨格は基本的に左右対称な長さとなるため、各スケーリングパラメータは左右均等になるよう左右の平均から求めており、また骨格モデルの初期リンク長は左右均等である。Neck-Head 間のスケーリングパラメータの算出については、両耳の特徴点位置の中点を頭関節の存在する場所としてスケーリングパラメータの算出を行う。取得したスケーリングパラメータを用いて、骨格モデルの各リンク長の更新を行う。鼻・目・耳の位置を算出については、表2に示すような対応関係をもとにして各仮想関節(鼻、目、耳)の位置を算出する。
Figure JPOXMLDOC01-appb-T000002
なお、リンク長は他の手法で取得してもよいし、予め取得したものを用いてもよい。あるいは、対象者に固有の骨格モデルが得られている場合には、それを用いてもよい。
[D]関節位置取得部
関節位置取得部は、ヒートマップ取得部から取得されたヒートマップ情報を用いて関節位置候補を推定し、当該関節位置候補を用いて逆運動学に基づく最適化計算を実行することで骨格モデルの関節角、関節位置を更新する点に特徴を備えている。関節位置取得部は、ヒートマップデータに基づいて関節位置候補を推定する関節位置候補取得部と、関節位置候補を用いて逆運動学に基づく最適化計算を実行して関節角を算出する逆運動学計算部と、算出された関節角を用いて順運動学計算を実行して関節位置を算出する順運動学計算部と、を備えている。
本実施形態に係る関節位置候補取得部では、前フレーム(フレームt)の関節位置データを用いて現フレーム(フレームt+1)の関節位置、関節角の計算を行う。フレームtの関節位置から、フレームt+1の関節角度・関節位置を取得する処理をt=Tとなるまで繰り返すことで全Tフレームのビデオモーションキャプチャを行う。
1フレームにおける関節位置の変化は微小であるため、フレームtにおける関節nの関節位置の3次元座標をtn、フレームt+1における関節位置をt+1nとすると、t+1ntn近傍に存在すると考えられる。そこで、tnを中心に広がった間隔sの(2k+1)個の格子点(kは正の整数)を考え、その集合を
Figure JPOXMLDOC01-appb-M000003
と表す。例えば、tnを中心とした図11のような間隔sの11×11×11(k=5)の格子状の点を考える。格子点の距離sは画像ピクセルの大きさとは無関係である。
フレームtにおける関節位置tnに基づく探索範囲は、例えば、関節位置tnの近傍空間内の点群であり、近傍空間内の総点数(2k+1)及び点の間隔sによって決定される。探索範囲の決め方において、図11では立方体を示したが、探索範囲の形状は限定されず、例えば、球状の範囲で探索を行ってもよい。あるいは、過去フレームの関節位置変化に基づいて、探索範囲を狭めた直方体状や長球としたり、探索範囲の中心点をtnから別の点としたりして探索を行ってもよい。
探索範囲(例えば、中心点、パラメータkや、探索幅s)は、当業者において適宜設定され得る。対象の運動の種類に応じて探索範囲を変化させてもよい。また、対象の運動の速度および加速度(例えば、対象のポーズの変化速度)に応じて、探索範囲を変化させてもよい。また、撮影するカメラのフレームレートに応じて探索範囲を変化させてもよい。また、関節の部位ごとに探索範囲を変化させてもよい。
tnにおける全ての点は、関数Piを用いて任意のカメラの投影面のピクセル座標に変換することができることに着目する。tnにおける1点tn a,b,cを、カメラiの画像平面のピクセル位置に変換する関数をPi、そのピクセル位置からフレームt+1におけるPCM 値を取得する関数をt+1n とすると、nc個のカメラから算出したPCM 値の和の最大点が、フレームt+1において関節nの最も確からしい存在位置であるとみなすことができ、t+1n pred
Figure JPOXMLDOC01-appb-M000004
によって求められる。この計算をnj個(OpenPoseの場合は18個)の関節全てにおいて実行する。
そして、フレームt+1の各関節位置t+1nは、関節角t+1Qの関数であることに着目し、式(3)に示すように、逆運動学に基づく最適化計算により関節角t+1Qを算出し、順運動学計算により関節位置t+1nを算出する。
Figure JPOXMLDOC01-appb-M000005
なお、逆運動学に基づく最適化計算における各関節の重みt+1nには
Figure JPOXMLDOC01-appb-M000006
と規定されるように、各関節の予測位置におけるPCM値の和を用いる。
 関節位置取得部でリアルタイムあるいは非リアルタイムで取得された各関節位置は、関節位置の時系列データとして記憶部に格納される。本実施形態では、関節位置取得部でリアルタイムあるいは非リアルタイムで取得された各関節位置は平滑化処理部によって平滑化処理されて、平滑化関節位置が生成される。
逆運動学に基づく最適化計算については、例えば、非特許文献17に記載されたアルゴリズムを用いることができる。逆運動学に基づく最適化計算の手法としては幾つかの方法が当業者に知られており、具体的な最適化計算手法は限定されない。1つの好ましい例として、勾配法による数値解法を挙げることができる。また、逆運動学に基づく最適化計算における各関節の重みを規定する式(4)は好ましい1つの態様であり、例示である。例えば、本実施形態では、平滑化処理部において、平滑化後関節位置の重みについては全関節の重みを均一とし、逆運動学に基づく最適化計算を解いている。また、逆運動学に基づく最適化計算を行うにあたり、当業者において適宜拘束条件を与えてもよいことが理解される。
上記探索手法では、探索範囲が格子間隔sに依存するため、各格子点と格子点の間に最も高いPCMスコアを持つ点が存在した場合、その点を発見することができない。本実施形態では、式(2)にて最大値となる格子点のみを求めるのではなく、全格子点の中の複数の点を関節位置点群としてPCMスコアが高くなる場所を探索することによって、逆運動学に基づく最適化計算を実行してもよい。前記関節位置点群は、例えば、7点である。7という数値は、式(2)で求める最大点の前後上下左右にも同様に尤度が高い点が存在するという予想から定めた値である。
異なる格子間隔sを用いて関節位置を取得してもよい。本実施形態の1つでは、関節位置候補の探索と逆運動学に基づく最適化計算をsの値を20mm、4mmと変えることで2回実行し、フレームtの関節位置からフレームt+1の関節角・位置を取得するという処理をt=Tとなるまで繰り返すことで全Tフレームのビデオモーションキャプチャを行う。これにより、探索速度と探索精度を両立させることが可能となる。図6に、異なる格子間隔を用いた関節位置取得工程を示す。
先ず、フレームtにおける関節位置tnに基づく第1探索範囲(関節位置tnの近傍空間内の点の間隔s1)におけるフレームt+1における関節位置候補の探索を行う。間隔s1は、例えば、20mmである。この工程において、フレームt+1における関節位置第1候補を取得する。関節位置第1候補を用いて逆運動学に基づく最適化計算、順運動学計算を実行して、フレームt+1における関節位置第2候補を取得する。
次いで、フレームt+1における関節位置第2候補に基づく第2探索範囲(関節位置第2候補の近傍空間内の点の間隔s2、s2<s1)におけるフレームt+1における関節位置候補の探索を行う。間隔s2は、例えば、4mmである。この工程において、フレームt+1における関節位置第3候補を取得する。関節位置第3候補を用いて、逆運動学に基づく最適化計算、順運動学計算を実行して、フレームt+1における関節角、関節位置を取得する。
本実施形態では、直前フレームtで取得されている関節位置に基づいて探索範囲を決定しているが、直前フレームtで取得されている関節位置に加えて、あるいは、代えて、フレームtよりも前の1つあるいは複数のフレーム、あるいはフレームt+2以降の1つあるいは複数のフレームで取得されている関節位置を用いてもよい。例えば、関節位置をリアルタイムで取得する場合に、フレームt-1やフレームt-2などの2フレーム以上前のフレームにおける関節位置に基づいて探索範囲を設定してもよい。また、偶数フレームと奇数フレームにおいて並列計算で、別個に特徴点位置探索を行い、交互に出される特徴点位置候補に、平滑化処理を実行してもよい。
式(2)の計算において、評価する尤度についてはモーションキャプチャの精度の高さの指標となる。この尤度について閾値を設定し、尤度が閾値よりも低い場合には、対象のポーズのトラッキングに失敗したものとみなし、関節位置候補の探索範囲を広げて探索を行ってもよい。これは、全身のポーズのうちの一部の部位に対して行ってもよく、あるいは、全身に対して行ってもよい。また、オクル―ジョンなどによって特徴点を一時的に見失った場合には、オフラインの解析では時間を先に進めて同一対象のヒートマップを決定し、そこから動作の連続性を利用して時間を遡ることでオクルージョンによりトラッキングに失敗した部分の関節位置の軌道を回復するようにしてもよい。これによって、オクル―ジョンによる見失いを最小にすることができる。
このように、本実施形態では、PCMスコアが最大となる3次元空間上の点を探索する方法として、3次元空間上の点群を2次元平面に投影し、そのピクセル座標のPCM値を取得し、その和(PCMスコア)を求め、点群のうちPCMスコアが最も高かった点を、PCMスコアが最大となる3次元空間上の点として関節位置候補とする。3次元上の点を各カメラ平面に投影し、そのPCMのスコアを算出する計算は軽い。本実施形態に係る関節位置候補の探索は、前フレームの情報を用いた探索範囲の限定、及び、探索範囲内の格子点の3次元位置の2次元画像(PCM)への再投影によって計算量の低減、および外れ値の除外を実現している。
図7を参照しつつ、関節位置候補取得部の他の態様について説明する。先ず、対象者の動き得る領域(例えば、4m×4m×2m)を設定する。前記領域を一定間隔でセル(例えば、1cmごと、400×400×200のセルを生成)に分割する。
ピンホールカメラモデルを考え、あるカメラについて、例えば、ピクセル位置をx=20, y=25とした場合、[x=19.5,y=24.5]、[x=19.5,y=25.5]、[x=20.5,y=24.5]、[x=20.5,y=25.5]のピクセル範囲にそのピクセル位置のPCM値を与える。格子点で囲まれた1つの3次元のセルをPiによってカメラ画像面に投影し、その領域に含まれる全ピクセル範囲のPCM値の平均値をセルのPCM値とする。上記処理をすべてのカメラにおいて実行する。
すべてのセルのPCMスコア(PCM値の和)を調べ、その最大値を備えたセルを算出する。そのセルの位置が、その時刻での、ある関節が存在する尤度が高い位置となる。この手法を、関節の初期位置の推定に用いてもよい。
さらに、関節位置候補取得部は、複数の2次元ヒートマップから検出したPCM値の重心座標や極大値の座標を用いて3次元再構成することで、関節位置候補を推定するものでもよい。この3次元再構成には、例えば、DLT法を用いることができる。推定された関節位置候補に対して、逆運動学に基づく最適化計算、順運動学計算を適用してもよい。なお、関節位置候補取得部は、並行して実行される複数の関節位置候補取得手法を備えていてもよい。
[E]平滑化処理部
関節位置取得部で用いたPCMの取得、逆運動学に基づく最適化計算は時系列的な関係を考慮していないため、出力される関節位置が時間的に滑らかである保証は無い。平滑化処理部の平滑化関節位置取得部では、関節の時系列情報を用いて、時間的な連続性を考慮した平滑化処理を行う。例えば、フレームt+1で取得された関節位置を平滑化する場合には、典型的には、フレームt+1で取得された関節位置、フレームtで取得された関節位置、フレームt-1で取得された関節位置が用いられる。フレームtで取得された関節位置、フレームt-1で取得された関節位置については、平滑化前の関節位置が用いられるが、平滑化後の関節位置を用いることもできる。非リアルタイムで平滑化処理を実行する場合には、後の時刻で取得された関節位置、例えば、フレームt+2以降のフレームの関節位置を用いてもよい。また、平滑化関節位置取得部では、必ずしも連続するフレームを用いなくてもよい。計算を単純にするために、先ず、身体構造情報を用いずに平滑化を行う。このため隣接する関節の距離であるリンク長は保存されない。次いで、平滑化後の関節位置を用いて、再度、対象の骨格構造を使った逆運動学に基づく最適化計算を行って、前記対象の各関節角を取得することで、リンク長を保存した平滑化を行う。
平滑化関節位置取得部は、ローパスフィルタによる関節位置の時間的平滑化を行う。関節位置取得部によって取得した関節位置にローパスフィルタによる平滑化処理を適用し、平滑化関節位置を各関節の目標位置とし、逆運動学に基づく最適化計算を行う。これにより、関節位置の時間変化の滑らかさを、各関節間距離が不変であるという骨格条件の下で生かすことが可能となる。
平滑化処理部について、より具体的に説明する。本実施形態では、表3に示すIIRローパスフィルタを設計し、関節位置にローパスフィルタによる平滑化処理を行う。なお、カットオフ周波数の値は、当業者において適宜設定できる値であり、例えば、経験的には表3の値を用いることができる。計測する運動の種類や撮影するカメラのフレームレートに応じて平滑化フィルタのパラメータの調整を行ってもよい。
Figure JPOXMLDOC01-appb-T000007
ローパスフィルタの特性上、ローパスフィルタに通した関節位置の取得はフィルタ次数の半分にあたる3フレームの遅延が生じ、かつ、関節角更新開始から3フレームはローパスフィルタを適応することができないという問題がある。本実施形態では、フィルタに適応前に、第1フレームの関節位置を第-2フレーム、第-1フレーム、第0フレームとおくことで、2フレーム分計算時間の遅れは生じるものの、空間的な誤差の少ない全フレームの関節位置の平滑処理を行う。
上記フィルタによって求めた各関節位置をビデオモーションキャプチャの出力とすると、各関節の時間的な滑らかさは得られるが、隣接する関節間距離が定数という条件が崩れることがある。本実施形態では、このローパスフィルタ適応後の関節位置をあらためて各関節の目標関節位置と置き、再度逆運動学に基づく最適化計算を行った。逆運動学に基づく最適化計算には式(3)を用いることができるが、全関節の重みを均一(これには限定されないが)として逆運動学に基づく最適化計算を実行する。これにより、ローパスフィルタに適応した関節位置の時間変化の滑らかさを、各関節間距離が不変であるという骨格条件の下で生かすことができる。
平滑化処理部の出力には、例えば、関節角情報と骨格構造、およびその2つから一意に算出できる関節位置情報が含まれる。例えば、CG描画時に、関節角情報と、身体の骨格構造ファイルを用いて順運動学計算で身体の運動を描画する。平滑化処理部の出力に含まれる情報を記憶部に格納してもよい。
[F]前処理部
本実施形態に係るモーションキャプチャシステムは、ヒートマップの計算に先立って、前フレーム(1つの態様では直前フレームであるが、直前フレームには限定されない)で取得された情報に基づいて前処理を実行する前処理部を備えていてもよい。1つの態様では、前処理は、入力画像からヒートマップを計算するコンピュータによって実行されるが、他のコンピュータによって実行されてもよい。
[F-1]入力画像の回転
ヒートマップの計算では、画像の中で人が正立する画像に対して、人が横臥の姿勢や倒立に近い姿勢でいる画像に対して精度が下がることがある。これは、ヒートマップ取得部で用いる学習データの中に正立に近い画像が多いというデータの偏りによって、対象の逆立ちや側転といった倒立運動では下半身の推定誤差が大きくなるためである。この場合、前フレームでの対象の体の傾きに応じて画像を回転させ、できるだけ対象が正立に近い姿勢で画像に現れるようにする。本実施形態では下半身のPCMを回転画像から取得した。
一般化すると、対象が所定の第1ポーズセット(例えば、横臥や倒立)の時にヒートマップ情報の精度が大きく劣化し、対象が所定のある第2ポーズセット(例えば、正立)の時にヒートマップ情報の精度が高いことが既知の場合に、入力画像における対象の身体の傾きから対象のポーズが第1ポーズセットに含まれるか否かを判定し、入力画像を対象のポーズが第2ポーズセットに含まれるポーズ(正立)となるように入力画像を回転させてヒートマップ情報を取得する。特にリアルタイムでヒートマップ情報を取得する場合には、対象の傾きの判定は、前のフレームにおける入力画像に基づいて実行される。入力画像を回転させてヒートマップ情報を取得するという考えは、本実施形態にかかるモーションキャプチャとは独立して、ヒートマップ取得部に一般に適用し得る技術である。なお、学習データの蓄積および畳み込みニューラルネットワーク(CNN)の改良によって、入力画像の回転を必要としない場合もあり得る。また、可動カメラを用いる場合において、対象の動きに合わせてカメラ自体を物理的に回転させて、フレーム毎に関数Piを取得することで、入力画像の回転を必要としない場合もあり得る。
図8を参照しつつ、入力画像を回転させてPCMを取得する工程について説明する。フレームtの入力画像において、対象の身体の傾き(1つの態様では、trunkの傾き)を検出する。例えば、対象の腰と首を結ぶベクトルを算出する。具体的には、図10左図の骨格モデルのPelvis関節とNeck関節の3次元座標位置を算出する。3次元上の点をカメラiの画像平面のピクセル位置に変換する関数Piを用いてフレームtにおけるカメラi での対象の身体の傾き(腰と首を結ぶベクトルを各カメラ方向に正射影した際の角度)を求める。
対象の身体の傾きに基づいて画像回転処理の要否を判定する。本実施形態では、得られた身体の傾き(正射影ベクトルの角度)に応じて、フレームt+1の画像を、正射影ベクトルが鉛直上向きに向くように回転させる。例えば、予め複数の回転角度のセット(例えば、30度刻みに、0度、30度、60度、90度、...330度)、及び、各回転角度に対応する角度範囲(例えば、15度~45度を30度に対応させる)を設定しておき、入力画像の回転判定用のテーブルとして記憶部に格納しておく。このテーブルを参照して、前フレームにおける対象の身体の傾き(正射影ベクトルの角度)がどの角度範囲に該当するかを判定し、判定された角度範囲に対応する角度だけ入力画像を回転させてPCMを取得する。オフラインでヒートマップを取得する場合には、回転角度毎にPCMを取得して記憶部に格納しておき、正射影ベクトルの角度に応じてPCMを選択してもよい。回転画像において、OpenPoseのネットワークへの入力を容易にするため、背景(四隅)を黒で埋める処理を行う。回転画像にOpenPoseを適用し、対象の下半身のPCMの算出を行う。回転画像をPCMと共に元の画像の姿勢に戻す。そして、関節位置候補の探索を行う。入力画像の回転の判定に用いる前フレームは、フレームtのみならず、フレームt-1以前のフレームであってもよい。
[F-2]他の前処理
前処理は、対象の身体の傾きに応じて入力画像を回転させる処理に限定されない。前フレームにおける1人あるいは複数人の対象の3次元位置情報を用いて実行される前処理としては、トリミングあるいは/および縮小、マスク処理、カメラ選択、スティッチングを例示することができる。
トリミングは、前フレームにおける対象の画像上の位置を参考に、画像のトリミングを行い、トリミングした部分のみPCM計算を行うことである。トリミングによって、PCMの計算時間を短縮することは、対象の動作のリアルタイム取得において有利である。同様に、入力画像が十分大きい場合、画像の縮小を行ってもOpenPoseのPCM作成精度がほぼ変化しないことがあるので、画像の縮小によってPCMの計算時間を短縮できる場合がある。
前処理としてのマスク処理は、入力画像に対象以外の人物等が含まれている場合に、対象以外の人物等にマスク処理を適用して、対象のPCM計算を行う処理である。マスク処理を行うことで、複数の対象のPCMの混合を防止することができる。なお、マスク処理を、PCM計算後、関節位置取得部において実行してもよい。
カメラ選択は、動画取得部が複数のカメラを含む場合に、カメラを選択することで、対象の動作取得や動作解析に用いる入力画像を選択することである。例えば、広範囲のフィールドで多数のカメラを用いてモーションキャプチャを行う時に、使用する全てのカメラからの情報を用いて動作取得や動作解析を行うのではなく、前処理において対象が映っていると予想されるカメラを選択し、選択したカメラからの入力画像を用いてモーションキャプチャを行うことである。また、前処理として、入力画像のスティッチングを行ってもよい。スティッチングは、各カメラがそれぞれの画角においてオーバーラップする領域があった際に、取得済みのカメラパラメータを用いて各カメラ画像をつなぎ合わせ、シームレスな1つの画像に合成することを指す。これにより、入力画像の端部に対象が部分的に現れているような場合であっても、PCMの推定を良好に行うことができる。
[G]モーションキャプチャを用いた動作解析
図9にモーションキャプチャを用いた動作解析の処理工程を例示する。本実施形態に係るモーションキャプチャにより対象の動作を取得する。取得した関節角及び関節位置の時系列データを取得する。さらにこれに基づいて、逆動力学計算により関節トルクを取得し、前記関節トルクを用いて、筋を模倣したワイヤーを備えた筋骨格モデルにおけるワイヤー張力を最適化計算(2次計画法や線形計画法)により取得し、前記ワイヤー張力を用いて筋活動度を算出し、筋活動度の程度に応じた色が割り当てられた筋骨格画像を生成し、視覚化された筋活動度を伴う筋骨格画像を所定のフレームレートで出力して動画としてディスプレイに表示する。以下、詳細に説明する。
モーションキャプチャによって取得した骨格の全自由度の時系列のフレーム間変位を連続関数で補間することによって、各フレーム時刻における骨格の全自由度の変位、その時間微分である速度、またその時間微分である加速度を計算する。それらから算出された各リンクの位置・角度・速度・角速度・加速度・角加速度を逆動力学エンジンに送り、質量を仮定した骨格の運動に伴う、力学情報の計算を行うことで、運動に整合した関節トルクを算出する。骨格の各セグメントは剛体とし、その質量、重心位置、慣性テンソルは、体格情報を用い人の各部位の統計的な計測情報から推定したものを用いることができる。あるいは対象の運動情報からの同定によりこれらのパラメータを推定することもできる。推定に用いる対象の体格情報は事前に取得される。
筋をモデル化した全身に分布させたワイヤーの張力をバイアス・重み付き2次計画法を用いて計算する。このワイヤー張力の計算については、非特許文献16を参照することができる。分類された運動に応じて拮抗筋が使われる際の力分布の計測値を求めておき、それを参考にしたバイアス、重みを使うことで、実際の筋の張力をよりよく近似する解を得ることができる。筋張力の取得において、筋電計や床反力計を用いてもよい。
取得された筋張力を当該筋の想定した最大筋張力で割った値を筋活動度とし、筋活動度に合わせて筋の色を変えた全身筋骨格系の画像を生成し、これをフレームレート(典型的には30FPS)で出力して映像としてディスプレイに表示する。また、骨格のポーズの画像を生成し、フレームレートで出力して映像としてディスプレイに表示する。さらに、各変数(例えば、関節角度、速度、筋張力、床反力、重心位置など)の値の変化をグラフ化して出力する。これらの出力を解析結果として映像やグラフで提示し、運動時の筋や身体の活動、あるいは体の各部位の動作の記録とする。このように、対象の運動の撮影から、運動時の対象の3次元ポーズの取得、運動に必要な筋活動の推定と可視化までを、自動的に効率的に行うことができる。
[H]入力画像から対象の特徴点の位置を取得するまでの流れ
本実施形態に係る入力画像から関節角度、特徴点の位置を取得するまでの工程を、図3を参照しつつ説明する。複数の同期したカメラによって対象者の動作が撮影され、各カメラから所定のフレームレートでRGB画像が出力される。処理部は、入力画像を受信すると、前処理の要否を判定する。前処理は、例えば、画像の回転の要否である。所定の判定基準によって画像の回転が必要だと判定された場合には、入力画像を回転した状態でヒートマップが取得される。画像の回転が不要だと判定された場合には、入力画像に基づいてヒートマップが取得される。
身体上の全特徴点において、身体上の特徴点の位置の確からしさの尤度の空間分布(ヒートマップ)が生成され、処理部に送信される。処理部では、特徴点の位置候補の探索が行われる。1つの態様では、フレームt+1の入力画像から生成したヒートマップを受信すると、フレームtの特徴点の位置を基に探索範囲が設定され、特徴点の位置候補の探索が行われる。そして全関節において同じ処理を実行し、全関節の関節位置候補を取得する。
全特徴点の位置候補に対して逆運動学に基づく最適化計算を実行する。特徴点の位置候補と骨格モデルの関節(特徴点)が対応付けられており、骨格モデルは、対象者固有の骨格モデルに適合されている。特徴点の位置候補と重みを基に、逆運動学に基づく最適化計算、順運動学計算を実行して関節角、特徴点の位置を取得する。
取得された特徴点の位置に対して、過去のフレームにおける関節位置を用いて、平滑化処理を実行することで、関節位置の時間的な動きを滑らかにする。平滑化された特徴点の位置を用いて再度逆運動学に基づく最適化計算を実行して、対象の関節角を取得し、取得した関節角を用いて順運動学計算を実行して、対象の関節位置を取得する。
本実施形態では、PCMスコアが最大となる点を現在のフレームにおいて最も相応しいポーズであると考えて、関節位置候補の取得を実行する一方、PCMスコアが下がることを許容しつつ、その後の処理で、逆運動学に基づく最適化計算、ローパスフィルタによるスムージングを行う。対象の骨格構造、特徴点の位置の時間的な連続性を考慮して、逆運動学に基づく最適化計算を実行することで、特徴点の位置の推定誤差を小さくすることを可能とした。
本実施形態における関節位置候補取得部において、式(1)~(4)で示すアルゴリズムを採用することには以下の利点がある。ヒートマップとして空間的な広がりをもった、あいまいな関節位置を、人間の骨格形状を参考にすること(逆運動学に基づく最適化計算)で最適化する。関節位置候補の探索においては、各カメラからの入力画像から取得した、空間的な広がりを持った複数のヒートマップ情報をそのまま用い、その後は、対象の骨格構造を考慮することで、関節位置候補を用いて逆運動学に基づく最適化計算により関節位置を求める。尤度の空間的広がりという豊かな情報を持つ、複数方向からのヒートマップ情報を活用することで、1枚の画像だけでは関節位置推定を誤るような運動にも対応することができる。例えば、あるカメラからの入力画像から望ましいヒートマップが生成されなかったときも、他のカメラからの入力画像から生成したヒートマップを用いるため修正が効く。ある特徴点が誤った位置に3次元再構成されそうなときも、他の特徴点の位置情報と関節間距離不変という拘束条件を用いるため修正が効く。あるフレームにおいて、誤った関節位置が推定されそうなときも、前フレームの関節位置情報と時間的に滑らかという条件を用いるため修正が効く。
骨格構造において、ヒートマップ情報を用いて取得した特徴点の位置だけでは決定できない骨格の自由度の変位の決定が必要な場合には、事前知識を条件に含めた最適化によって決定してもよい。例えば、手や足先については それぞれ手首、足首の先に存在するという事前知識を用いて初期角度を与える。手や足先の情報が取得される場合には、初期角度をフレーム毎に変化させ、手や足先の情報が取得されない場合には、手や足先の角度は前フレームの角度から変化せず固定される。また、肘や膝の可動域に応じて手首・足首の各自由度に重み・制限を持たせ、手首、足首の反転を防ぐ、身体は地面を貫通しないという制限を与える、といった事前知識を用いることで逆運動学に基づく最適化計算を行ってもよい。
本実施形態に係るモーションキャプチャは、複数のカメラの映像から深層学習を用いて推定した関節位置から、人間の骨格の構造と運動の連続性を考慮して3次元再構成を行うことで、従来の光学式モーションキャプチャに匹敵する滑らかな運動計測を取得する。上記モーションキャプチャは、以下に記載のように、様々な課題を解決することができる。
動作解析を、トップアスリートや特殊技能を持つ舞踏家たちだけでなく、一般の運動愛好家や、学生スポーツの場や、リハビリテーションの患者や高齢者の身体機能のモニタリングに広く活用するためには、設備の簡略化、準備やキャプチャー後の後処理に関わる人手と時間の短縮、を通じてモーションキャプチャを低コスト化することが課題であった。これに対して、本実施形態に係るモーションキャプチャは、複数台のカメラ映像から屋内、屋外、服装を問わずマーカレスでモーションキャプチャを行うことを可能とするものであり、ビデオカメラ以外の特別なデバイスを必要としない。
また、データの取得から運動の3次元再構成と運動解析までの計算を可能な限り、リアルタイムで実施できるようにすることも課題であった。これらを解決することによって、計測する運動の時間の長さに依存しない(例えば、サッカーの試合時間のように長時間であっても、運動終了時には解析が完了するというように)システムを構成することができれば、だれもがモーションキャプチャ技術者や専門のトレーナを介さずに運動解析を利用することができるようになる。これに対して、本実施形態に係るモーションキャプチャは、屋内、屋外、着ている服装を問わずマーカレスで、ビデオ映像だけからのリアルタイムの運動解析を可能とする。これによって、従来のマーカを取り付けて行うモーションキャプチャでは、時間と手間がかかって行えなかった大人数の運動計測が可能となり、運動データのビッグデータ化を推進することもできる。また、本実施形態に係るモーションキャプチャは、ビデオ映像をアップロードするだけで動作解析結果を返信するサービスとして実施することができる。また、本ビデオモーションキャプチャ技術を用いて、ヒートマップ取得部作成に必要な学習データ(入力画像と特徴点位置が記述されたファイル)を新たに作成することも可能となる。
本モーションキャプチャシステムは、スポーツ(運動解析、コーチング、戦術提案、競技の自動採点、トレーニングの詳細ログ)、スマートライフ(一般の健康生活、高齢者の見守り、不審行動の発見)、エンターテイメント(ライブパフォーマンス、CG作成、仮想現実ゲームや拡張現実ゲーム)、介護、医療等の多岐にわたる分野において利用可能である。

Claims (23)

  1.  多関節構造を備えた対象は、複数の関節を含む身体上の複数の特徴点を備え、隣接する特徴点間の距離が定数として得られており、
     1枚あるいは同時刻で撮影された複数枚の入力画像から各特徴点の位置の確からしさの尤度の空間分布を取得し、
     前記尤度の空間分布を用いて、各特徴点に対応する1つあるいは複数の特徴点の位置候補を取得し、
     前記特徴点の位置候補と前記対象の多関節構造を用いた逆運動学に基づく最適化計算を行うことで、前記対象の各関節角を取得し、
     前記関節角を用いて順運動学計算を行うことで、前記対象の関節を含む特徴点の位置を取得する、
     関節位置の取得方法。
  2.  前記特徴点の位置候補の取得は、フレームtで取得されている各特徴点の位置の近傍空間を探索範囲として、フレームt+1で取得された尤度の空間分布を用いて、フレームt+1における各関節位置の1つあるいは複数の特徴点位置候補を取得するものである、請求項1に記載の関節位置の取得方法。
  3.  前記特徴点の位置候補の取得における特徴点位置候補の探索範囲は、フレームtで取得されている各特徴点の位置に加えて、あるいは、代えて、フレームtよりも前の1つあるいは複数のフレーム、あるいは/および、フレームt+2以降の1つあるいは複数のフレームで取得されている特徴点の位置の近傍空間である、請求項2に記載の方法。
  4.  前記探索範囲は、前記特徴点の位置を中心として所定間隔で3次元状に分布する所定数の点群である、請求項2ないし3に記載の方法。
  5.  前記逆運動学に基づく最適化計算において、前記尤度の空間分布が用いられる、請求項1~4いずれか1項に記載の方法。
  6.  前記特徴点の位置を、他の複数のフレームで取得された複数の特徴点の位置を用いて時間方向に平滑化し、
     平滑化された特徴点の位置と前記対象の多関節構造を用いた逆運動学に基づく最適化計算を行うことで、前記対象の各関節角を取得する、
     請求項1~5いずれか1項に記載の方法。
  7.  前記関節角を用いて順運動学計算を行うことで、前記対象の関節を含む特徴点の位置を取得する、請求項6に記載の方法。
  8.  前記入力画像よりも以前のフレームから取得された情報に基づく前処理ステップを備え、
     前記前処理ステップは、
    (a)入力画像の回転、
    (b)入力画像のトリミングあるいは/および縮小、
    (c)入力画像のマスキング、
    (d)カメラの選択による入力画像の選択、
     (e)入力画像のスティッチング、
     の少なくとも1つの処理を含む、
     を含む、請求項1~7いずれか1項に記載の方法。
  9.  前記前処理は、入力画像の回転を含み、
     前記入力画像よりも以前のフレームにおける対象の身体の正立ポーズに対する傾きを取得すること、
     前記傾きに応じて入力画像を回転させて正立姿勢ないし正立に近い姿勢とすること、
     回転した画像に基づいて前記尤度の空間分布を取得すること、
     前記尤度の空間分布が取得された画像を回転させて元画像に戻すこと、
     を含む、請求項8に記載の方法。
  10.  請求項1~8いずれか1項に記載の関節位置の取得方法を用いて、
     各フレームにおいて前記関節角及び前記関節位置の取得を行うことで、対象の関節角及び関節位置の時系列データを取得する、
     動作の取得方法。
  11.  関節位置の取得装置は、記憶部と処理部とを備え、
     前記記憶部には、複数の関節を含む身体上の複数の特徴点を備えた多関節構造を規定するファイルと、隣接する特徴点間の距離が定数として格納されており、
     前記処理部は、
     1枚あるいは同時刻で撮影された複数枚の入力画像から各特徴点の位置の確からしさの尤度の空間分布を取得し、
     前記尤度の空間分布を用いて、各特徴点に対応する1つあるいは複数の特徴点の位置候補を取得し、
     前記特徴点の位置候補と前記対象の多関節構造を用いた逆運動学に基づく最適化計算を行うことで、前記対象の各関節角を取得し、
     前記関節角を用いて順運動学計算を行うことで、前記対象の関節を含む特徴点の位置を取得する、
     ように構成されている、
     関節位置の取得装置。
  12.  前記記憶部には、取得された特徴点の位置の時系列データが格納されており、
     前記処理部は、フレームtで取得されている各特徴点の位置の近傍空間を探索範囲として、フレームt+1で取得された尤度の空間分布を用いて、フレームt+1における各関節位置の1つあるいは複数の特徴点位置候補を取得する、請求項11に記載の関節位置の取得装置。
  13.  前記処理部は、
    フレームtで取得されている各特徴点の位置に加えて、あるいは、代えて、フレームtよりも前の1つあるいは複数のフレーム、あるいは/および、フレームt+2以降の1つあるいは複数のフレームで取得されている特徴点の位置の近傍空間を探索範囲として、前記特徴点の位置候補を取得する、請求項12に記載の装置。
  14.  前記探索範囲は、前記特徴点の位置を中心として所定間隔で3次元状に分布する所定数の点群である、請求項12ないし13に記載の装置。
  15.  前記逆運動学に基づく最適化計算において、前記尤度の空間分布が用いられる、請求項11~14いずれか1項に記載の装置。
  16.  前記処理部は、
     前記特徴点の位置を、他の複数のフレームで取得された複数の特徴点の位置を用いて時間方向に平滑化し、
     平滑化された特徴点の位置と前記対象の多関節構造を用いた逆運動学に基づく最適化計算を行うことで、前記対象の各関節角を取得する、
     ように構成されている、
     請求項11~15いずれか1項に記載の装置。
  17.  前記関節角を用いて順運動学計算を行うことで、前記対象の関節を含む特徴点の位置を取得する、請求項16に記載の装置。
  18.  前記処理部は、
     前記入力画像よりも以前のフレームから取得された情報に基づく前処理を実行し、
     前記前処理は、
    (a)入力画像の回転、
    (b)入力画像のトリミングあるいは/および縮小、
    (c)入力画像のマスキング、
    (d)カメラの選択による入力画像の選択、
     (e)入力画像のスティッチング、
     の少なくとも1つの処理を含む、
     を含む、請求項11~17いずれか1項に記載の装置。
  19.  前記前処理は、入力画像の回転を含み、
     前記処理部は、
     前記入力画像よりも以前のフレームにおける対象の身体の正立ポーズに対する傾きを取得し、
     前記傾きに応じて入力画像を回転させて正立姿勢ないし正立に近い姿勢とし、
     回転した画像に基づいて前記尤度の空間分布を取得し、
     前記尤度の空間分布が取得された画像を回転させて元画像に戻すように構成されている、請求項18に記載の装置。
  20.  前記装置は、さらに、前記入力画像を取得する1つあるいは複数のカメラを備え、
     前記処理部は、前記カメラから前記入力画像を受信する、
     請求項11~19いずれか1項に記載の装置。
  21.  前記1つあるいは複数のカメラは、少なくとも1つの可動カメラを備え、
     前記処理部は、毎フレームで前記可動カメラのキャリブレーションを実行する、
     請求項20に記載の装置。
  22.  請求項11~21いずれか1項に記載の関節位置の取得装置を備え、
     各フレームにおいて前記関節角及び前記関節位置の取得を行うことで、対象の関節角及び関節位置の時系列データを取得する、
     動作の取得装置。
  23.  コンピュータを、請求項11~22に記載の記憶部、処理部として機能させるコンピュータプログラム。
PCT/JP2019/033859 2018-09-10 2019-08-29 関節位置の取得方法及び装置、動作の取得方法及び装置 WO2020054442A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/274,744 US11967101B2 (en) 2018-09-10 2019-08-29 Method and system for obtaining joint positions, and method and system for motion capture

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-168597 2018-09-10
JP2018168597A JP7209333B2 (ja) 2018-09-10 2018-09-10 関節位置の取得方法及び装置、動作の取得方法及び装置

Publications (1)

Publication Number Publication Date
WO2020054442A1 true WO2020054442A1 (ja) 2020-03-19

Family

ID=69777579

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/033859 WO2020054442A1 (ja) 2018-09-10 2019-08-29 関節位置の取得方法及び装置、動作の取得方法及び装置

Country Status (3)

Country Link
US (1) US11967101B2 (ja)
JP (1) JP7209333B2 (ja)
WO (1) WO2020054442A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113058261A (zh) * 2021-04-22 2021-07-02 杭州当贝网络科技有限公司 基于现实场景和游戏场景的体感动作识别方法及系统
CN113409398A (zh) * 2021-06-04 2021-09-17 北京复数健康科技有限公司 基于图像识别进行数据映射的方法及系统
WO2022190206A1 (ja) * 2021-03-09 2022-09-15 富士通株式会社 骨格認識方法、骨格認識プログラムおよび体操採点支援システム
WO2022265575A3 (en) * 2021-06-14 2023-03-02 Nanyang Technological University Method and system for generating a training dataset for keypoint detection, and method and system for predicting 3d locations of virtual markers on a marker-less subject
WO2023195099A1 (ja) * 2022-04-06 2023-10-12 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法及びプログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581414B (zh) * 2019-02-18 2024-01-16 北京京东尚科信息技术有限公司 服饰识别、分类及检索的方法、装置、设备及存储介质
WO2020181136A1 (en) * 2019-03-05 2020-09-10 Physmodo, Inc. System and method for human motion detection and tracking
JP7067513B2 (ja) * 2019-03-25 2022-05-16 日本電信電話株式会社 映像同期装置、映像同期方法、プログラム
US20220245850A1 (en) * 2019-06-13 2022-08-04 Nec Corporation Image processing device, image processing method, and non-transitory storage medium
JP7367764B2 (ja) * 2019-09-12 2023-10-24 富士通株式会社 骨格認識方法、骨格認識プログラムおよび情報処理装置
JP7323079B2 (ja) * 2020-03-25 2023-08-08 日本電気株式会社 姿勢特定装置、姿勢特定方法、及びプログラム
US20210394021A1 (en) * 2020-06-23 2021-12-23 Electronics And Telecommunications Research Institute Apparatus and method for evaluating human motion using mobile robot
JP7315516B2 (ja) 2020-07-14 2023-07-26 Kddi株式会社 骨格推定装置及びプログラム
JP7054950B1 (ja) 2020-11-12 2022-04-15 独立行政法人日本スポーツ振興センター 位置計測システム、及び位置計測方法
EP4009277A1 (en) * 2020-12-03 2022-06-08 Tata Consultancy Services Limited Methods and systems for generating end-to-end model to estimate 3-dimensional(3-d) pose of object
JP6917096B1 (ja) 2020-12-25 2021-08-11 リンクウィズ株式会社 情報処理方法、情報処理システム、プログラム
US11967102B2 (en) * 2021-07-16 2024-04-23 Shanghai United Imaging Intelligence Co., Ltd. Key points detection using multiple image modalities
US11823498B1 (en) * 2021-07-23 2023-11-21 Meta Platforms Technologies, Llc Systems and methods for hand pose estimation from video

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007333690A (ja) * 2006-06-19 2007-12-27 Sony Corp モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5706647B2 (ja) * 2010-09-03 2015-04-22 キヤノン株式会社 情報処理装置、およびその処理方法
US10510174B2 (en) * 2017-05-08 2019-12-17 Microsoft Technology Licensing, Llc Creating a mixed-reality video based upon tracked skeletal features
US10529089B2 (en) * 2018-02-23 2020-01-07 GM Global Technology Operations LLC Crowd-sensed point cloud map

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007333690A (ja) * 2006-06-19 2007-12-27 Sony Corp モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAMAMOTO, KAZUKI ET AL.,: "Video Motion Capture based on Inverse Kinematics using the High-order Information Moments", LECTURE PROCEEDINGS OF 2019 JSME ANNUAL CONFERENCE ON ROBOTICS AND MECHATRONICS, June 2018 (2018-06-01), pages 1 - 4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022190206A1 (ja) * 2021-03-09 2022-09-15 富士通株式会社 骨格認識方法、骨格認識プログラムおよび体操採点支援システム
CN113058261A (zh) * 2021-04-22 2021-07-02 杭州当贝网络科技有限公司 基于现实场景和游戏场景的体感动作识别方法及系统
CN113058261B (zh) * 2021-04-22 2024-04-19 杭州当贝网络科技有限公司 基于现实场景和游戏场景的体感动作识别方法及系统
CN113409398A (zh) * 2021-06-04 2021-09-17 北京复数健康科技有限公司 基于图像识别进行数据映射的方法及系统
WO2022265575A3 (en) * 2021-06-14 2023-03-02 Nanyang Technological University Method and system for generating a training dataset for keypoint detection, and method and system for predicting 3d locations of virtual markers on a marker-less subject
WO2023195099A1 (ja) * 2022-04-06 2023-10-12 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
US11967101B2 (en) 2024-04-23
US20220108468A1 (en) 2022-04-07
JP7209333B2 (ja) 2023-01-20
JP2020042476A (ja) 2020-03-19

Similar Documents

Publication Publication Date Title
WO2020054442A1 (ja) 関節位置の取得方法及び装置、動作の取得方法及び装置
US20230008567A1 (en) Real-time system for generating 4d spatio-temporal model of a real world environment
JP6116784B1 (ja) 3次元モデル生成システム、3次元モデル生成方法、及びプログラム
JP7427188B2 (ja) 3dポーズ取得方法及び装置
US8786680B2 (en) Motion capture from body mounted cameras
KR101323966B1 (ko) 이미지 프로세싱을 기반으로 한 3d 공간 차원용 시스템 및 방법
JP5795250B2 (ja) 被写体姿勢推定装置および映像描画装置
JP2019096113A (ja) キーポイントデータに関する加工装置、方法及びプログラム
JP7164045B2 (ja) 骨格認識方法、骨格認識プログラムおよび骨格認識システム
Ohashi et al. Synergetic reconstruction from 2D pose and 3D motion for wide-space multi-person video motion capture in the wild
CN112515661B (zh) 姿态捕捉方法、装置、电子设备及存储介质
CN111489392B (zh) 多人环境下单个目标人体运动姿态捕捉方法及系统
Chen et al. Camera networks for healthcare, teleimmersion, and surveillance
JP7318814B2 (ja) データ生成方法、データ生成プログラムおよび情報処理装置
US20230067081A1 (en) System and method for real-time creation and execution of a human Digital Twin
Cheng et al. Capturing human motion in natural environments
JP2019197278A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
Xing et al. Markerless motion capture of human body using PSO with single depth camera
Chen et al. A real-time photogrammetric system for acquisition and monitoring of three-dimensional human body kinematics
Schacter Multi-camera active-vision system reconfiguration for deformable object motion capture
Akhavizadegan et al. Camera based arm motion tracking for stroke rehabilitation patients
KR20230141103A (ko) Ai 학습을 위한 배경 데이터의 실사 기반 오브젝트 생성 시스템
CN114821791A (zh) 一种图像三维动作信息的捕捉方法和系统
Janik et al. Application of a Hybrid Algorithm for Non–humanoid Skeleton Model Estimation from Motion Capture Data
Devlaeminck HUMAN MOTION TRACKING WITH MULTIPLE CAMERAS USING A

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19860785

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19860785

Country of ref document: EP

Kind code of ref document: A1