WO2022018811A1 - 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム - Google Patents
被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム Download PDFInfo
- Publication number
- WO2022018811A1 WO2022018811A1 PCT/JP2020/028163 JP2020028163W WO2022018811A1 WO 2022018811 A1 WO2022018811 A1 WO 2022018811A1 JP 2020028163 W JP2020028163 W JP 2020028163W WO 2022018811 A1 WO2022018811 A1 WO 2022018811A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- subject
- dimensional
- group
- heat map
- posture
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Definitions
- the present invention relates to a three-dimensional posture estimation device for a subject, a three-dimensional posture estimation method, and a program.
- FIG. 19 is a diagram showing an example of characteristic points in the human body.
- learning is done so as to generate a vector from the feature point of the child in the hierarchical structure toward the feature point of the parent.
- the feature point 110 is a feature point representing the position of the nose.
- the feature point 111 is a feature point representing the position of the left eye.
- the feature point 112 is a feature point representing the position of the right eye.
- the feature point 111 of the left eye and the feature point 112 of the right eye have the feature point 110 of the nose as a parent.
- the feature points 113-126 are feature points that represent the positions of other parts defined on the subject.
- Non-Patent Document 1 a network called Part Confidence Maps, which predicts each feature point of the body based on a heat map, and a network called Part Affinity Field, which predicts the connection relationship between feature points, are used by a plurality of people. The connection relationship between each feature point and the feature point is detected.
- Non-Patent Document 2 discloses a method of extracting feature points by a method called Hough voting. Specifically, in Non-Patent Document 2, in addition to the heat map that predicts each feature point of the body and the Mid-range offset that predicts the connection relationship between feature points, a vector that points to nearby feature points called a short-range offset is used. By using the vector field, the connection relationship between the feature points is detected from multiple people.
- a technique has been proposed in which a subject is photographed by using a plurality of photographing devices and the three-dimensional coordinates of the subject feature points are estimated based on the captured images.
- the two-dimensional coordinates of the feature points in the two-dimensional plane obtained from a plurality of captured images are used.
- the 2D coordinates of the feature points are projected onto the 3D space based on the parameters of the shooting device (position, orientation, viewing angle, distortion, etc. of the shooting device), and the feature points are 3 by using the triangulation method. Calculate dimensional coordinates.
- Non-Patent Document 3 a heat map of each feature point is generated for a single subject (when there are multiple subjects, the number of heat maps is increased), and the heat is corrected in consideration of the influence of shielding by others.
- the 2D coordinates of the feature points in the 2D plane are derived using the map, and the 3D coordinates of the feature points obtained by triangulation are the skeletal model of the human body (each skeletal length, joint rotation angle of up to 3 axes, and root joint).
- a method of estimating a three-dimensional posture by adjusting the joint rotation angle and the three-axis coordinates so as to fit the model defined by the three-axis coordinates of the above has been proposed.
- the feature points obtained for the image taken by each photographing device are the one points with the highest accuracy for each feature point for each subject, and this is the most accurate point in the triangular survey.
- the estimation accuracy of the three-dimensional coordinates is lowered (for example).
- Non-Patent Document 3 in order to mitigate this effect, a mechanism for deriving the two-dimensional coordinates of the feature points in the two-dimensional plane using a heat map corrected in consideration of the influence of shielding by others is introduced.
- any 3D coordinates are reprojected to the screen coordinates, and the total value of the heat map signals in all the imaging devices is used as the existence probability of the target feature point, and the direction showing a high value.
- a method of fitting a skeleton model using a gradient method can be considered.
- the heat map obtained by using the two-dimensional posture estimation technique corresponding to a plurality of people is used for calculation in comparison with the above-mentioned method without depending on the number of subjects in the image. The amount can be reduced.
- An object of the present invention is to provide a three-dimensional posture estimation device that estimates a three-dimensional posture of a subject in a three-dimensional space with higher accuracy while using a two-dimensional posture estimation technique corresponding to a plurality of people.
- One aspect of the present invention is an image acquisition unit that acquires a plurality of images of a subject taken from a plurality of different points, a two-dimensional posture for each subject, a heat map showing the existence probability of each feature point, and a peak in the heat map.
- a two-dimensional attitude estimation unit that generates a vector field that corrects the coordinates around the value toward the target feature point, a two-dimensional attitude estimation model storage unit that stores model data used in the two-dimensional attitude estimation unit, and shooting.
- a camera parameter acquisition unit that acquires device parameters, a subject tracking unit that generates a 3D coordinate group of feature points for each subject, a skeletal length estimation unit that estimates the skeletal length for each subject, and an estimation of the 3D posture for each subject. It is a three-dimensional posture estimation device including a skeleton model fitting unit.
- a three-dimensional posture estimation device that estimates the three-dimensional posture of a subject in a three-dimensional space with higher accuracy while using a two-dimensional posture estimation technique corresponding to a plurality of people.
- FIG. 1 It is a schematic diagram which shows the structure of a motion capture system. It is a figure which shows the structure of the posture estimation apparatus which concerns on 1st Embodiment.
- This is an example of a two-dimensional posture group output by the two-dimensional posture estimation unit.
- This is an example of the coordinates of the two-dimensional posture output by the two-dimensional posture estimation unit.
- This is an example of a heat map output by the two-dimensional attitude estimation unit.
- This is an example of the vector field output by the two-dimensional attitude estimation unit.
- assigning a subject identifier by the subject tracking unit This is an example of a three-dimensional coordinate group of feature points for each subject output by the subject tracking unit.
- This is an example of the skeleton length for each subject output by the skeleton length estimation unit.
- FIG. 1 is a schematic diagram showing the configuration of the motion capture system 2.
- a motion capture system 2 that realizes markerless motion capture will be described.
- the motion capture system 2 includes a plurality of photographing devices 201 and a three-dimensional posture estimation device 1.
- the plurality of photographing devices 201 are installed so as to photograph the subjects A1 and A2 from different directions.
- the time of the internal clocks of the plurality of photographing devices 201 are synchronized with each other.
- the three-dimensional posture estimation device 1 acquires video data from a plurality of photographing devices 201, and estimates each three-dimensional posture of the subjects A1 and A2 for each frame (image) of each video data. That is, the three-dimensional posture estimation device 1 makes a triangular survey based on the two-dimensional coordinates of the feature points in the images of the plurality of video data at the same time and the parameters of the plurality of photographing devices 201 in the real space (three-dimensional space). Therefore, by estimating the three-dimensional coordinates of the feature points of the subjects A1 and A2, the three-dimensional postures of the subjects A1 and A2 can be estimated.
- FIG. 2 is a diagram showing the configuration of the three-dimensional posture estimation device 1 according to the first embodiment.
- the 3D posture estimation device 1 includes an image acquisition unit 10, a 2D posture estimation unit 11, a 2D posture estimation model storage unit 12, a camera parameter acquisition unit 13, a subject tracking unit 14, a skeleton length estimation unit 15, and a skeleton model fitting unit. 16 is provided.
- the image acquisition unit 10 acquires video data (image group) from each of the plurality of photographing devices 201.
- One or more identical subjects are captured in the video data captured by the plurality of photographing devices 201.
- the subject is, for example, a human.
- the two-dimensional posture estimation unit 11 inputs an image group and model data, and outputs a two-dimensional posture group, a heat map group, and a vector field group separated for each subject.
- the two-dimensional posture estimation model storage unit 12 stores model data learned so that the output of the two-dimensional posture estimation unit 11 can be obtained by inputting an image.
- the camera parameter acquisition unit 13 acquires parameters describing the position, orientation, viewing angle, distortion, etc. of the photographing device 201 from the outside, and outputs the camera parameter group of each photographing device.
- the subject tracking unit 14 inputs a camera parameter group and a two-dimensional posture group, and outputs a three-dimensional coordinate group of feature points for each subject.
- the skeleton length estimation unit 15 outputs the skeleton length for each subject by inputting the three-dimensional coordinate group of the feature points for each subject.
- the skeleton model fitting unit 16 inputs a camera parameter group, a heat map group, a vector field group, a three-dimensional coordinate group of feature points for each subject, and a skeleton length for each subject, and externally inputs the skeleton length for each subject and the three-dimensional posture group for each subject. Output to database etc.
- FIG. 3A is a diagram showing subjects A1 and A2 and two-dimensional postures P1 and P2 of the subject.
- FIG. 3B is an example of a two-dimensional posture separated by subject.
- the two-dimensional posture estimation unit 11 inputs the two-dimensional postures P1 and P2 as shown in FIG. 3A, the heat map H1 as shown in FIG. 4, and the heat map H1 for each image.
- the vector fields V1 as shown in FIG. 5 are generated respectively.
- the two-dimensional posture is represented by the two-dimensional coordinates for each feature point of the subject. That is, it can be said that the two-dimensional posture is a two-dimensional coordinate group indicating the two-dimensional position of the feature point.
- the heat map H1 and the vector field V1 are generated for each feature point of each image.
- the vector field V1 corrects the coordinates around the peak value in the heat map in the direction of the target feature point.
- FIG. 4 is an example of a heat map.
- the heat map H1 shows the subjects A1 and A2 in the image, and a probability field representing the existence probability of the feature points is stored in the vicinity of the target feature points of the subjects A1 and A2.
- the random field shows a higher value near the target feature point, and has a characteristic that it attenuates as the distance increases. In the example shown in FIG. 4, it is shown that the closer the color of the random field is to white, the higher the probability of existence of the feature point.
- the two-dimensional posture estimation unit 11 outputs a set of two-dimensional postures as a two-dimensional posture group, a set of heat maps as a heat map group, and a set of vector fields as a vector field group.
- the heat map shown in FIG. 4 and the vector field shown in FIG. 5 are both a heat map and a vector field generated based on the feature points of the right elbows of the subjects A1 and A2.
- the feature points on the right elbow correspond to the feature points 118 in FIG.
- a weak reaction may be shown in the opposite direction to the left and right. Therefore, in the heat map shown in FIG. 4 and the vector field shown in FIG. 5, in the direction of the random field and the feature point showing the existence probability slightly around the feature point of the left elbow (corresponding to the feature point 117 in FIG. 19). A vector field to correct is generated.
- the number of 2D postures included in the 2D posture group is the same as the number of input images, and the number of heat maps included in the heat map group and the number of vector fields included in the vector field group are the number of input images and the subject. It is the same as the product of the number and the number of feature points.
- the subject tracking unit 14 inputs the camera parameter group and the two-dimensional posture group, and obtains the three-dimensional coordinates of the feature points for each subject for each frame by using the two-dimensional coordinates of the feature points in the same frame and the triangulation as described above.
- the subject tracking unit 14 sets the subjects having the closest three-dimensional distance between frames at the same feature point of each subject as the same subject, for example, as shown in FIG. 6A.
- the identifier subject identifier
- the feature point three-dimensional coordinate group for each subject as shown in FIG. 6B is output. Since the subject-specific feature point three-dimensional coordinate group calculated by the subject tracking unit 14 uses the same triangulation as the conventional method, the skeleton length is different for each frame.
- FIG. 7 is an example of the skeleton length for each subject.
- the skeleton length estimation unit 15 obtains the skeleton length in the skeleton model of each subject by inputting a three-dimensional coordinate group of feature points for each subject and calculating, for example, an average value from different skeleton lengths for each frame of the same subject. decide.
- the skeleton model is a model in which the subject is represented by bones and joints. A range of motion is set for each joint. A skeletal length is set for each bone. Some feature points coincide with the joints.
- the measured value is used for the skeletal length that can be measured by the distance between the feature points of the shoulder and elbow, such as the length of the upper arm, and the skeletal length that is difficult to measure, such as the length of the spine, is estimated to be derived from the distance relationship with other feature points. Use the value. Although the average value is used here to determine the skeleton length, the median value, the mode value, or the like may be used.
- FIG. 8 is a diagram showing the configuration of the skeleton model fitting unit 16 according to the first embodiment.
- the skeleton model fitting unit 16 according to the first embodiment includes a peak coordinate output unit 1610, a huff voting point group output unit 1611, a subject extraction unit 1612, a frame extraction unit 1613, a three-dimensional posture estimation unit 1614, and a target frame three-dimensional attitude. It includes an estimation unit 1615, a three-dimensional posture storage unit 1616, and a subject output unit 1617.
- the peak coordinate output unit 1610 outputs the peak value peripheral coordinate group by inputting the heat map group.
- the Huff voting point group output unit 1611 outputs the Huff voting point group by inputting the vector field group and the coordinate group around the peak value.
- the subject extraction unit 1612 inputs the three-dimensional coordinate group of the feature points for each subject and the skeleton length for each subject, and outputs the three-dimensional coordinate group of the feature points for each subject and the skeleton length for each subject.
- the frame extraction unit 1613 inputs the subject feature point 3D coordinate group and the huff voting point group, and outputs the frame subject feature point 3D coordinate group and the frame huff voting point group for each target frame.
- the 3D posture estimation unit 1614 outputs the estimated 3D posture by inputting the subject skeleton length, the frame subject feature point 3D coordinate group, and the past subject 3D posture group.
- the target frame 3D posture estimation unit 1615 outputs the frame subject 3D posture to the 3D posture storage unit 1616 by inputting the camera parameter group, the subject skeleton length, the estimated 3D posture, and the frame huff voting point group.
- the three-dimensional posture storage unit 1616 stores the subject skeleton length and the frame subject three-dimensional posture as inputs, and outputs the stored data in response to a request.
- the subject output unit 1617 acquires and outputs the skeleton length for each subject and the three-dimensional posture group for each subject from the three-dimensional posture storage unit 1616.
- FIG. 9A is an example of a heat map including peak coordinates.
- FIG. 9B is an example of the peak value peripheral coordinate group output by the peak coordinate output unit.
- the peak coordinate output unit 1610 inputs the heat map group and outputs the coordinates around the coordinate value indicating the peak in each heat map as the peak value peripheral coordinate group.
- the peak coordinates are detected, for example, by searching for a portion where the gradient with the peripheral signal value becomes convex as shown in FIG. 9A, and the coordinates around the peak coordinate having a value close to the heat map signal value of the peak coordinate.
- the coordinates in which the difference from the heat map signal value of a predetermined quantity or the peak coordinate is within a certain value are sampled to generate a coordinate group around the peak value.
- FIG. 10 is an example of a Huff voting point group output by the Huff voting point group output unit 1611.
- the Huff voting point group output unit 1611 takes the vector field group and the peak value peripheral coordinate group as inputs, and as shown in FIG. 10, all the Huff voting points corrected by the vector field for each coordinate of the peak value peripheral coordinate group. Outputs a group of Huff voting points summarized for the coordinates of. That is, the Huff voting point cloud output unit 1611 corrects the three-dimensional coordinate group of the feature points of the subject by the vector field.
- the past subject 3D posture group represents a set of 3D postures in the past frame of the target subject in the subject extraction unit 1612.
- the 3D posture estimation unit 1614 is a skeleton model corresponding to the 3D coordinates of the feature points in the 3D coordinate group of the frame subject feature points when the 3D posture immediately before the target frame does not exist due to, for example, shielding by the head frame or another object.
- Inverse Kinematics and Forward Kinematics estimate the joint rotation angle group of the skeletal model set to the subject skeletal length so that the error between the three-dimensional coordinates of the joint in is minimized, and generate an estimated three-dimensional posture.
- the joint rotation angle group of the target frame is estimated from the past subject 3D posture group by, for example, a physical simulation, and an estimated 3D posture is generated.
- the target frame 3D posture estimation unit 1615 obtains the 3D coordinate group of the whole body joint in the skeleton model from the subject skeleton length and the estimated 3D posture, and the screen coordinates obtained by reprojecting the 3D coordinates of each joint on the screen of each imaging device. And, the existence probability of the feature point is calculated based on the distance between the target joint and the frame huff voting point group at the corresponding feature point. For example, the target frame three-dimensional posture estimation unit 1615 calculates the existence probability of the target feature point by the equation (1).
- N i is the i th number of Hough voting points included in the target feature point in the photographing device
- l i, j is the j-th Hough voting points in the i-th imaging device pointed coordinates
- L is a preset positive constant. That is, the target frame three-dimensional posture estimation unit 1615 fits the angle of rotation of each joint in the skeleton model using the existence probability of the feature points according to the distance between the screen coordinates and the coordinates pointed to by the plurality of Huff voting points.
- the target frame 3D posture estimation unit 1615 fits the rotation angle of each joint in the skeleton model using the existence probability of the feature points according to the distance between the screen coordinates and the coordinates pointed to by the plurality of Huff voting points, for example.
- the gradient when the rotation angle of each joint is slightly changed is obtained, and the frame subject 3D posture is generated and output by fitting the skeleton model so that the total existence probability of all the feature points is maximized using the gradient method. do.
- FIG. 11 is a flowchart showing the operation of the skeleton model fitting unit 16 according to the first embodiment.
- the peak coordinate output unit 1610 samples the coordinate group around the peak value for each heat map of the heat map group (step S100).
- the Huff voting point cloud output unit 1611 corrects the coordinate values using the vector fields of the corresponding frames and feature points for each coordinate around the peak value (step S101).
- the subject extraction unit 1612 acquires the number of subjects from the skeleton length for each subject, selects the target subjects one by one, and the skeleton model fitting unit 16 repeats steps S103 to S111 for each subject (step S102).
- the frame extraction unit 1613 acquires the total number of frames from the Huff voting point group, selects the target frames (target frames) one by one, and the skeleton model fitting unit 16 steps from step S104 for each frame.
- the 3D posture estimation unit 1614 generates an estimated 3D posture in the target frame from the subject skeleton length, the frame subject feature point 3D coordinate group, and the past subject 3D posture group (step S104).
- the target frame 3D posture estimation unit 1615 sets the joint rotation angle of the skeleton model set to the subject skeleton length to the estimated 3D posture (step S105), and selects one from all the joints corresponding to the feature points. Steps S107 to S109 are repeated for each joint (step S106). Subsequently, the target frame three-dimensional posture estimation unit 1615 calculates the existence probability of the child joint (child feature point) when the target joint is rotated by each minute angle in the plus or minus direction of each rotation axis by the equation (1). (Step S107). In step S107, the target frame three-dimensional posture estimation unit 1615 may be restricted so as not to be displaced in the direction of rotation beyond the limit of the rotation angle degree of freedom and the rotation range of the target joint.
- the target frame three-dimensional posture estimation unit 1615 corrects the rotation angle of the target joint in the direction in which the existence probability of the child joint (child feature point) increases from the gradient of the existence probability of each rotation axis calculated in step S107. (Step S108).
- the target frame three-dimensional posture estimation unit 1615 calculates the existence probability of the child joint (child feature point) by the equation (1) using the corrected rotation angle of the target joint (step S109).
- the target frame three-dimensional posture estimation unit 1615 determines whether or not to determine the three-dimensional posture based on the amount of change in the total sum of the existence probabilities calculated for all the feature points (step S110).
- the target frame 3D posture estimation unit 1615 determines the most recently determined 3D posture as the 3D posture of the target frame, and stores the 3D posture.
- the subject skeleton length and the frame subject three-dimensional posture are stored in the unit 1616 (step S111).
- the target frame three-dimensional posture estimation unit 1615 returns the process to step S106, and the joint of the skeleton model is increased so that the sum of the existence probabilities increases. Correct the angle of rotation of the joint while adjusting the angle of.
- the subject output unit 1617 acquires the subject skeleton length and the past subject 3D posture group for each subject from the 3D posture storage unit 1616, and outputs the subject skeleton length and the subject 3D posture group (step S112).
- the three-dimensional posture estimation device 1 generates Huff voting points from the heat map and the vector field, and screens the three-dimensional coordinates of the joints for each joint (feature point) of the skeletal model.
- the three-dimensional posture of the subject is determined so as to maximize the existence probability calculated from the distance from the Huff voting point at the target joint (feature point) by projecting onto the coordinates. Since the 3D posture estimation device 1 uses a stochastic field using a Huff voting point cloud, it is possible to remove the influence of an error rather than determining one point in the heat map, and the 3D of the subject is more accurate.
- the posture can be estimated.
- the three-dimensional posture estimation device 1 generates Huff voting points from a heat map and a vector field, and projects the three-dimensional coordinates of the joints on the screen coordinates for each joint (feature point) of the skeletal model.
- the three-dimensional posture of the subject is determined so as to maximize the existence probability calculated from the distance from the Huff voting point at the target joint (feature point).
- the three-dimensional posture estimation device 1 according to the second embodiment determines the three-dimensional posture of the subject while reducing the amount of calculation by labeling the pixels around the peak value of the heat map. ..
- FIG. 12 is a diagram showing the configuration of the skeleton model fitting unit 16 according to the second embodiment.
- the skeleton model fitting unit 16 according to the second embodiment has labels instead of the peak coordinate output unit 1610, the huff voting point cloud output unit 1611, and the target frame three-dimensional attitude estimation unit 1615 in the configuration of the first embodiment.
- a peak coordinate output unit 1620 with a label, a Huff voting point cloud output unit 1621 with a label, and a target frame three-dimensional attitude high-speed estimation unit 1622 are provided.
- FIG. 13A is an example of peak coordinates and labeled peak coordinates.
- FIG. 13B is an example of a labeled peak coordinate group output by the labeled peak coordinate output unit 1620.
- the labeled peak coordinate output unit 1620 inputs the heat map group as an input, and outputs the coordinates and the label around the coordinate value indicating the peak in each heat map as the labeled peak value peripheral coordinate group.
- the basic function is almost the same as the peak coordinate output unit 1610, but as shown in FIG. 13B, the same label is assigned to the coordinates around the adjacent peak value, and the part including the label in the output data is different.
- the basic function of the labeled Huff voting point cloud output unit 1621 is almost the same as that of the Huff voting point cloud output unit 1611, but the input becomes the labeled peak value peripheral coordinate group instead of the peak value peripheral coordinate group, and the output is labeled.
- the part that becomes the attached Huff voting point cloud is different.
- the target frame 3D attitude high-speed estimation unit 1622 has almost the same basic functions as the target frame 3D attitude estimation unit 1615, but the input is a labeled Huff voting point cloud instead of the Huff voting point cloud, and the screen coordinates.
- the part that calculates the existence probability of the feature point is different based on the distance between the target joint and the labeled frame huff voting point cloud at the corresponding feature point.
- the target frame three-dimensional posture high-speed estimation unit 1622 calculates the existence probability of the target feature point by the equation (2).
- M i is the number of labeled Hough voting point group with i-th imaging same label labels and the screen coordinates belongs in the device. That is, as shown in FIG. 14, the Huff voting point cloud to which a label other than the label b to which the screen coordinates belong is attached is excluded from the calculation target.
- FIG. 15 is a flowchart showing the operation of the skeleton model fitting unit 16 according to the second embodiment.
- the labeled peak coordinate output unit 1620 samples the coordinate group around the peak value for each heat map of the heat map group (step S200), and assigns a label to the sampled coordinates (step S201).
- the labeled Huff voting point cloud output unit 1621 corrects the coordinate values using the vector fields of the corresponding frames and feature points for each coordinate around the peak value (step S202).
- the subject extraction unit 1612 acquires the number of subjects from the skeleton length for each subject, selects the target subjects one by one, and the skeleton model fitting unit 16 repeats steps S204 to S212 for each subject (step S203).
- the frame extraction unit 1613 acquires the total number of frames from the labeled Huff voting point group, selects the target frames one by one, and the skeleton model fitting unit 16 repeats steps S205 to S212 for each frame. (Step S204).
- the 3D posture estimation unit 1614 generates an estimated 3D posture in the target frame from the subject skeleton length, the frame subject feature point 3D coordinate group, and the past subject 3D posture group (step S205).
- the target frame 3D posture high-speed estimation unit 1622 sets the joint rotation angle of the skeleton model set to the subject skeleton length to the estimated 3D posture (step S206), and selects one from all the joints corresponding to the feature points.
- the steps S208 to S210 are repeated for each joint (step S207).
- the target frame three-dimensional posture high-speed estimation unit 1622 determines the existence probability of the child joint (child feature point) when the target joint is rotated by each minute angle in the plus or minus direction of each rotation axis by the equation (2). Calculate (step S208).
- the target frame three-dimensional posture high-speed estimation unit 1622 may be restricted so as not to be displaced in the direction of rotation beyond the limit of the rotation angle degree of freedom and the rotation range of the target joint.
- the target frame three-dimensional posture high-speed estimation unit 1622 corrects the rotation angle of the target joint in the direction in which the existence probability of the child joint (child feature point) increases from the gradient of the existence probability of each rotation axis calculated in step S208. (Step S209).
- the target frame three-dimensional posture high-speed estimation unit 1622 calculates the existence probability of the child joint (child feature point) by the equation (2) using the corrected rotation angle of the target joint (step S210).
- the target frame three-dimensional attitude high-speed estimation unit 1622 determines whether or not to determine the three-dimensional attitude based on the amount of change in the total sum of the existence probabilities calculated for all the feature points (step S211). When the sum of the existence probabilities exceeds a predetermined amount (step S211-YES), the target frame three-dimensional posture high-speed estimation unit 1622 determines the most recently determined three-dimensional posture as the three-dimensional posture of the target frame, and the three-dimensional posture. The subject skeleton length and the frame subject three-dimensional posture are stored in the storage unit 1616 (step S212).
- step S211-NO When the sum of the existence probabilities is equal to or less than a predetermined value (step S211-NO), the target frame three-dimensional attitude high-speed estimation unit 1622 returns the process to step S207, and the sum of the existence probabilities is increased so that the sum of the existence probabilities is increased. Correct the angle of rotation of the joint while adjusting the angle of the joint.
- the subject output unit 1617 acquires the subject skeleton length and the past subject 3D posture group for each subject from the 3D posture storage unit 1616, and outputs the subject skeleton length and the 3D posture group for each subject (step S112).
- the three-dimensional attitude estimation device 1 labels the pixels around the peak value of the heat map, so that the Huff voting point cloud other than the label to which the screen coordinates belong is calculated. Can be excluded from. As a result, the three-dimensional posture estimation device 1 can estimate the three-dimensional posture of the subject faster.
- FIG. 16 is a diagram showing the configuration of the skeleton model fitting unit 16 according to the third embodiment.
- the skeleton model fitting unit 16 according to the third embodiment replaces the peak coordinate output unit 1610, the huff voting point cloud output unit 1611, and the target frame three-dimensional posture estimation unit 1615 in the configuration of the first embodiment, respectively. It includes a peak coordinate output unit 1630 with a signal value, a Huff voting point cloud output unit 1631 with a signal value, and a target frame three-dimensional attitude high-precision estimation unit 1632.
- FIG. 17A is an example of peak coordinates and peak coordinates with signal values.
- FIG. 17B is an example of a peak coordinate group with a signal value output by the peak coordinate output unit with a signal value.
- the peak coordinate output unit 1630 with a signal value inputs the heat map group and outputs the coordinates around the coordinate value indicating the peak in each heat map and the heat map signal value as the peak value peripheral coordinate group with the signal value.
- the basic function is almost the same as the peak coordinate output unit 1610, but the part where the heat map signal value of the target coordinates is included in the output data is different as shown in FIG. 17B.
- the basic function of the Huff voting point cloud output unit 1631 with signal value is almost the same as that of the Huff voting point cloud output unit 1611, but the input is output as the peak value peripheral coordinate group with signal value instead of the peak value peripheral coordinate group. However, the part that becomes the Huff voting point cloud with signal value is different.
- the target frame 3D posture high-precision estimation unit 1632 has almost the same basic functions as the target frame 3D posture estimation unit 1615, but the input is a Huff voting point cloud with a signal value instead of the Huff voting point cloud.
- the part that calculates the existence probability of the feature point is different based on the screen coordinates and the distance between the target joint and the frame huff voting point cloud with a signal value at the corresponding feature point.
- the target frame three-dimensional posture high-precision estimation unit 1632 calculates the existence probability of the target feature point by the equation (3).
- h i and j are the values of the existence probability of the feature point of the j-th pixel in the i-th heat map. That is, the weighted sum according to the heat map signal value is calculated as the existence probability.
- the two-dimensional attitude estimation technology has the characteristic that peaks appear in the coordinates around these peak values, although the signal value of the heat map is low, even when the feature points are hidden by a shield or the like. If the voting point cloud is treated in the same row as the Huff voting point cloud in the coordinates around the peak value of the heat map acquired from the photographing apparatus 201 in which the feature point is clearly photographed, an error is superimposed. Therefore, by calculating the existence probability using the weighted sum according to the heat map signal value, it is possible to reduce the error and improve the three-dimensional attitude estimation accuracy.
- FIG. 18 is a flowchart showing the operation of the skeleton model fitting unit 16 according to the third embodiment.
- the peak coordinate output unit 1630 with a signal value samples a coordinate group around the peak value for each heat map of the heat map group (step S300), and assigns a heat map signal value to the sampled coordinates (step). S301).
- the Huff voting point cloud output unit 1631 with a signal value corrects the coordinate values using the vector fields of the corresponding frames and feature points for each coordinate around the peak value (step S302).
- the subject extraction unit 1612 acquires the number of subjects from the skeleton length for each subject, selects the target subjects one by one, and the skeleton model fitting unit 16 repeats steps S304 to S312 for each subject (step S303).
- the frame extraction unit 1613 acquires the total number of frames from the Huff voting point group, selects the target frames one by one, and the skeleton model fitting unit 16 repeats steps S305 to S312 for each frame (step). S304).
- the 3D posture estimation unit 1614 generates an estimated 3D posture in the target frame from the subject skeleton length, the frame subject feature point 3D coordinate group, and the past subject 3D posture group (step S305).
- the target frame 3D posture high-precision estimation unit 1632 sets the joint rotation angle of the skeleton model set to the subject skeleton length to the estimated 3D posture (step S306), and selects one from all the joints corresponding to the feature points. Then, step S308 to step S310 are repeated for each joint (step S307). Subsequently, the target frame three-dimensional posture high-precision estimation unit 1632 determines the existence probability of the child joint (child feature point) when the target joint is rotated by each minute angle in the plus or minus direction of each rotation axis by the equation (3). Calculate (step S308).
- the target frame three-dimensional posture high-precision estimation unit 1632 may be restricted so as not to be displaced in the direction of rotation beyond the limit of the rotation angle degree of freedom and the rotation range of the target joint.
- the target frame three-dimensional posture high-precision estimation unit 1632 sets the rotation angle of the target joint in the direction in which the existence probability of the child joint (child feature point) increases from the gradient of the existence probability of each rotation axis calculated in step S308. Modify (step S309).
- the target frame three-dimensional posture high-precision estimation unit 1632 calculates the existence probability of the child joint (child feature point) by the equation (3) using the corrected rotation angle of the target joint (step S310).
- the target frame three-dimensional attitude high-precision estimation unit 1632 determines whether or not to determine the three-dimensional attitude based on the amount of change in the total sum of the existence probabilities calculated for all the feature points (step S311). When the sum of the existence probabilities exceeds a predetermined amount (step S311-YES), the target frame 3D posture high-precision estimation unit 1632 determines the most recently determined 3D posture as the 3D posture of the target frame, and 3D.
- the subject skeleton length and the frame subject three-dimensional posture are stored in the posture storage unit 1616 (step S312).
- step S311-NO When the sum of the existence probabilities is equal to or less than a predetermined value (step S311-NO), the target frame three-dimensional attitude high-precision estimation unit 1632 returns the process to step S307, and the skeleton model is increased so that the sum of the existence probabilities increases. Correct the angle of rotation of the joint while adjusting the angle of the joint.
- the subject output unit 1617 acquires the subject skeleton length and the past subject 3D posture group for each subject from the 3D posture storage unit 1616, and outputs the subject skeleton length and the 3D posture group for each subject (step S112).
- the three-dimensional posture estimation device 1 calculates the existence probability by using the weighted sum according to the heat map signal value, and thus the influence of the Huff voting point group with low certainty. Can be reduced. As a result, the three-dimensional posture estimation device 1 can estimate the three-dimensional posture of the subject with higher accuracy.
- the feature point estimation device is used as the three-dimensional posture estimation device 1 for estimating the posture of the subject, but the other embodiments are not limited to this.
- the feature point estimation device may estimate only a part of the feature points of the subject and do not estimate the posture.
- the posture estimation device is equipped with a CPU (Central Processing Unit) connected by a bus, a memory, an auxiliary storage device, etc., and by executing a program, an image acquisition unit, a heat map generation unit, a feature point estimation unit, a skeleton estimation unit, etc. It functions as a device equipped with an output unit. All or part of each function of the attitude estimation device may be realized by using hardware such as ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), FPGA (Field Programmable Gate Array).
- the program may be recorded on a computer-readable recording medium.
- the computer-readable recording medium is, for example, a flexible disk, a magneto-optical disk, a portable medium such as a ROM or a CD-ROM, or a storage device such as a hard disk built in a computer system.
- the program may be transmitted over a telecommunication line.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
被写体が複数の異なる地点から撮影された複数の画像を取得する画像取得部、被写体別に2次元姿勢、特徴点毎の存在確率を表すヒートマップ、及びヒートマップにおけるピーク値周辺の座標を対象特徴点方向に補正するベクトル場を生成する2次元姿勢推定部と、2次元姿勢推定部にて使用されるモデルデータが格納される2次元姿勢推定モデル記憶部と、撮影装置のパラメータを取得するカメラパラメータ取得部と、被写体別特徴点3次元座標群を生成する被写体追跡部と、被写体別の骨格長を推定する骨格長推定部と、被写体別の3次元姿勢を推定する骨格モデルフィッティング部とを備える3次元姿勢推定装置。
Description
本発明は、被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラムに関する。
カメラなどの撮影装置で撮影された画像における被写体の特徴点及び特徴点同士の接続関係を推定する2次元姿勢推定技術が提案されている。特徴点の例としては、被写体の目、鼻、関節などが挙げられる。
被写体の特徴点は図19のようなツリー状の階層構造で記述される。図19は、人体における特徴点の例を示す図である。各特徴点の接続関係を記述するベクトル場には階層構造における子の特徴点から親の特徴点方向へのベクトルを生成するように学習がなされる。特徴点110は、鼻の位置を表す特徴点である。特徴点111は、左目の位置を表す特徴点である。特徴点112は、右目の位置を表す特徴点である。図19に示す例においては、左目の特徴点111及び右目の特徴点112は、鼻の特徴点110を親に持つ。特徴点113-126は、被写体に定められた他の部位の位置をそれぞれ表す特徴点である。
被写体の特徴点は図19のようなツリー状の階層構造で記述される。図19は、人体における特徴点の例を示す図である。各特徴点の接続関係を記述するベクトル場には階層構造における子の特徴点から親の特徴点方向へのベクトルを生成するように学習がなされる。特徴点110は、鼻の位置を表す特徴点である。特徴点111は、左目の位置を表す特徴点である。特徴点112は、右目の位置を表す特徴点である。図19に示す例においては、左目の特徴点111及び右目の特徴点112は、鼻の特徴点110を親に持つ。特徴点113-126は、被写体に定められた他の部位の位置をそれぞれ表す特徴点である。
非特許文献1では、Part Confidence Mapsと呼ばれる、体の各特徴点をヒートマップに基づいて予測するネットワーク及びPart Affinity Fieldと呼ばれる特徴点同士の接続関係を予測するネットワークを使用して、複数人のそれぞれの特徴点と特徴点の接続関係を検出している。
非特許文献2では、ハフ投票(Hough voting)と呼ばれる手法により特徴点を抽出する方法が開示されている。具体的には非特許文献2では体の各特徴点を予測するヒートマップと特徴点同士の接続関係を予測するMid-range offsetに加え、short-range offsetと呼ぶ近傍の特徴点を指し示すベクトルからなるベクトル場を使用することで、複数人から特徴点と特徴点の接続関係を検出している。
非特許文献2では、ハフ投票(Hough voting)と呼ばれる手法により特徴点を抽出する方法が開示されている。具体的には非特許文献2では体の各特徴点を予測するヒートマップと特徴点同士の接続関係を予測するMid-range offsetに加え、short-range offsetと呼ぶ近傍の特徴点を指し示すベクトルからなるベクトル場を使用することで、複数人から特徴点と特徴点の接続関係を検出している。
また、複数の撮影装置を用いて被写体を撮影し、撮影した画像を基にして被写体特徴点の3次元座標を推定する技術が提案されている。3次元的な骨格の座標推定には撮影した複数の画像から得られる2次元平面における特徴点の2次元座標が使用される。特徴点の2次元座標を撮影装置のパラメータ(撮影装置の位置、向き、視野角、歪みなど)を基に特徴点を3次元空間に投影し、三角測量の手法を用いることで特徴点の3次元座標を計算する。しかし、特徴点の2次元座標や撮影装置のパラメータには推定誤差があり、三角測量の手法により幾何学的に3次元座標を決定することはできない場合がある。そのため、推定した特徴点の3次元座標を画像上に再度投影し、投影した点の2次元座標(以下、スクリーン座標と呼ぶ)と特徴点の2次元座標の差が最小となる点を3次元空間における特徴点に決定するという手法が一般的に行われる。
非特許文献3では、単一の被写体に対して各特徴点のヒートマップを生成し(被写体が複数名存在する場合はその数だけ実施)、他者による遮蔽の影響を考慮して補正したヒートマップを用いて2次元平面における特徴点の2次元座標を導出し、三角測量で取得した特徴点の3次元座標が人体の骨格モデル(各骨格長、最大3軸の関節回転角、及びroot関節の3軸座標で定義されるモデル)にフィットするように関節回転角及び3軸座標を調整することで3次元姿勢を推定する手法が提案されている。
非特許文献3では、単一の被写体に対して各特徴点のヒートマップを生成し(被写体が複数名存在する場合はその数だけ実施)、他者による遮蔽の影響を考慮して補正したヒートマップを用いて2次元平面における特徴点の2次元座標を導出し、三角測量で取得した特徴点の3次元座標が人体の骨格モデル(各骨格長、最大3軸の関節回転角、及びroot関節の3軸座標で定義されるモデル)にフィットするように関節回転角及び3軸座標を調整することで3次元姿勢を推定する手法が提案されている。
Cao, Z., Hidalgo, G., Simon, T., Wei, S.E., Sheikh, Y.: OpenPose: realtime multi-person 2D pose estimation using Part Affinity Fields. In: arXiv preprint arXiv:1812.08008, 2018.
G. Papandreou, T. Zhu, L.-C. Chen, S. Gidaris, J. Tompson, and K. Murphy. PersonLab: Person pose estimation and instance segmentation with a bottom-up, part-based, geometric embedding model. arXiv:1803.08225, 2018.
T.Ohashi1,Y.Ikegami,Y.Nakamura:Synergetic Reconstruction from 2D Pose and 3D Motion for Wide-Space Multi-Person Video Motion Capture in the Wild. arXiv preprint arXiv:2001.05613v1,2020.
しかし、前述の特徴点の3次元座標の推定においては、各撮影装置で撮影した画像に対して得られる特徴点は被写体別に特徴点毎、最も確度が高い1点であり、三角測量では、この座標1点とスクリーン座標との差を最小化するため、この座標1点において遮蔽物等により座標の推定誤りが生じた撮影装置が存在する場合は、3次元座標の推定精度が低下する(例えば4台の撮影装置で被写体を撮影したときに、1台の撮影装置に推定誤りが生じた場合、その誤った座標方向に25%の影響力で誤差が重畳する)。非特許文献3では、この影響を軽減するため、他者による遮蔽の影響を考慮して補正したヒートマップを用いて2次元平面における特徴点の2次元座標を導出する機構を導入することで、推定誤りの影響を軽減しつつ人体の骨格モデルをフィッティングする手法を提案しているが、遮蔽の影響を排除しきれなかった際には誤差が重畳することとなるうえ、画像内に被写体が複数名存在する場合は2次元姿勢推定技術を複数回実施する必要があり、膨大な演算量を必要とする。
推定誤りによる影響力を軽減する別手法として、任意の3次元座標をスクリーン座標に再投影し、全ての撮影装置におけるヒートマップの信号合計値を対象特徴点の存在確率とし、高い値を示す方向に例えば勾配法を用いて骨格モデルをフィッティングする手法も考えられる。非特許文献1や非特許文献2のように、複数人に対応した2次元姿勢推定技術を用いて得られるヒートマップにより、画像内の被写体数に依存することなく前述の手法と比較して演算量を削減することができる。しかし、複数人に対応した2次元姿勢推定技術におけるヒートマップ解像度は3次元座標を推定する用途には十分ではなく、遠方の被写体などではヒートマップの1画素のズレによって大きな誤差を生じることがあり、精度が著しく低下する恐れがある。
本発明の目的は、複数人に対応した2次元姿勢推定技術を使用しつつ、3次元空間における被写体の3次元姿勢をより高い精度で推定する3次元姿勢推定装置を提供することにある。
推定誤りによる影響力を軽減する別手法として、任意の3次元座標をスクリーン座標に再投影し、全ての撮影装置におけるヒートマップの信号合計値を対象特徴点の存在確率とし、高い値を示す方向に例えば勾配法を用いて骨格モデルをフィッティングする手法も考えられる。非特許文献1や非特許文献2のように、複数人に対応した2次元姿勢推定技術を用いて得られるヒートマップにより、画像内の被写体数に依存することなく前述の手法と比較して演算量を削減することができる。しかし、複数人に対応した2次元姿勢推定技術におけるヒートマップ解像度は3次元座標を推定する用途には十分ではなく、遠方の被写体などではヒートマップの1画素のズレによって大きな誤差を生じることがあり、精度が著しく低下する恐れがある。
本発明の目的は、複数人に対応した2次元姿勢推定技術を使用しつつ、3次元空間における被写体の3次元姿勢をより高い精度で推定する3次元姿勢推定装置を提供することにある。
本発明の一態様は、被写体が複数の異なる地点から撮影された複数の画像を取得する画像取得部と、被写体別に2次元姿勢、特徴点毎の存在確率を表すヒートマップ、及びヒートマップにおけるピーク値周辺の座標を対象特徴点方向に補正するベクトル場を生成する2次元姿勢推定部と、2次元姿勢推定部にて使用されるモデルデータが格納される2次元姿勢推定モデル記憶部と、撮影装置のパラメータを取得するカメラパラメータ取得部と、被写体別特徴点3次元座標群を生成する被写体追跡部と、被写体別の骨格長を推定する骨格長推定部と、被写体別の3次元姿勢を推定する骨格モデルフィッティング部とを備える3次元姿勢推定装置である。
本発明によれば、複数人に対応した2次元姿勢推定技術を使用しつつ、3次元空間における被写体の3次元姿勢をより高い精度で推定する3次元姿勢推定装置を提供することができる。
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
〈第1の実施形態〉
《学習済みモデルを用いたマーカーレスモーションキャプチャについて》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、モーションキャプチャシステム2の構成を示す概略図である。
マーカーレスモーションキャプチャを実現するモーションキャプチャシステム2について説明する。モーションキャプチャシステム2は、複数の撮影装置201と、3次元姿勢推定装置1を備える。複数の撮影装置201は、それぞれ異なる方向から被写体A1及びA2を撮影するように設置される。複数の撮影装置201は、互いに内部時計の時刻が同期されている。
《学習済みモデルを用いたマーカーレスモーションキャプチャについて》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、モーションキャプチャシステム2の構成を示す概略図である。
マーカーレスモーションキャプチャを実現するモーションキャプチャシステム2について説明する。モーションキャプチャシステム2は、複数の撮影装置201と、3次元姿勢推定装置1を備える。複数の撮影装置201は、それぞれ異なる方向から被写体A1及びA2を撮影するように設置される。複数の撮影装置201は、互いに内部時計の時刻が同期されている。
3次元姿勢推定装置1は、複数の撮影装置201から映像データを取得し、各映像データのフレーム(画像)ごとに被写体A1及びA2の各3次元姿勢を推定する。つまり、3次元姿勢推定装置1は、複数の映像データの同時刻に係る画像における特徴点の2次元座標と、現実空間(3次元空間)における複数の撮影装置201のパラメータに基づいて、三角測量により、被写体A1及びA2の各特徴点の3次元座標を推定することで、被写体A1及びA2の各3次元姿勢を推定することができる。
《3次元姿勢推定装置の構成》
図2は、第1の実施形態に係る3次元姿勢推定装置1の構成を示す図である。3次元姿勢推定装置1は、画像取得部10、2次元姿勢推定部11、2次元姿勢推定モデル記憶部12、カメラパラメータ取得部13、被写体追跡部14、骨格長推定部15、骨格モデルフィッティング部16を備える。
図2は、第1の実施形態に係る3次元姿勢推定装置1の構成を示す図である。3次元姿勢推定装置1は、画像取得部10、2次元姿勢推定部11、2次元姿勢推定モデル記憶部12、カメラパラメータ取得部13、被写体追跡部14、骨格長推定部15、骨格モデルフィッティング部16を備える。
画像取得部10は、複数の撮影装置201それぞれから映像データ(画像群)を取得する。複数の撮影装置201が撮影する映像データには、1個以上の同一の被写体が写る。被写体は例えば人間である。2次元姿勢推定部11は、画像群及びモデルデータを入力として被写体別に分離された2次元姿勢群、ヒートマップ群、及びベクトル場群を出力する。2次元姿勢推定モデル記憶部12は、画像を入力として2次元姿勢推定部11の出力が得られるように学習されたモデルデータを記憶する。
カメラパラメータ取得部13は、外部から撮影装置201の位置、向き、視野角、歪みなどを記述したパラメータを取得し、各撮影装置のカメラパラメータ群を出力する。被写体追跡部14は、カメラパラメータ群と2次元姿勢群を入力として被写体別特徴点3次元座標群を出力する。骨格長推定部15は、被写体別特徴点3次元座標群を入力として被写体別骨格長を出力する。骨格モデルフィッティング部16はカメラパラメータ群、ヒートマップ群、ベクトル場群、被写体別特徴点3次元座標群、及び被写体別骨格長を入力とし、被写体別骨格長及び被写体別3次元姿勢群を外部のデータベースなどに出力する。
図3Aは被写体A1、A2及び被写体の2次元姿勢P1、P2を示す図である。図3Bは、被写体別に分離された2次元姿勢の一例である。2次元姿勢推定部11は、学習済みのモデルデータに画像群を入力することで各画像に対し、図3Aに示すような2次元姿勢P1及びP2、図4に示すようなヒートマップH1、並びに図5に示すようなベクトル場V1をそれぞれ生成する。2次元姿勢は、図3Bに示すように、被写体の特徴点毎の2次元座標によって表される。つまり、2次元姿勢は、特徴点の2次元位置を示す2次元座標群であるといえる。ヒートマップH1及びベクトル場V1は、各画像の特徴点毎に生成される。ベクトル場V1は、ヒートマップにおけるピーク値周辺の座標を対象特徴点方向に補正するものである。
図4はヒートマップの一例である。ヒートマップH1には、画像に写る被写体A1及びA2が写っており、被写体A1及びA2の対象特徴点の近傍には、特徴点の存在確率を表す確率場が格納されている。確率場は対象特徴点近傍ほど高い値を示し、距離が離れるに従って減衰する特徴を持つ。図4に示す例においては、確率場の色が白に近いほど特徴点の存在確率が高いことを示す。2次元姿勢推定部11は、2次元姿勢の集合を2次元姿勢群として、ヒートマップの集合をヒートマップ群として、ベクトル場の集合をベクトル場群として出力する。
図4はヒートマップの一例である。ヒートマップH1には、画像に写る被写体A1及びA2が写っており、被写体A1及びA2の対象特徴点の近傍には、特徴点の存在確率を表す確率場が格納されている。確率場は対象特徴点近傍ほど高い値を示し、距離が離れるに従って減衰する特徴を持つ。図4に示す例においては、確率場の色が白に近いほど特徴点の存在確率が高いことを示す。2次元姿勢推定部11は、2次元姿勢の集合を2次元姿勢群として、ヒートマップの集合をヒートマップ群として、ベクトル場の集合をベクトル場群として出力する。
図4に示すヒートマップ及び図5に示すベクトル場は、ともに被写体A1及びA2の右ひじの特徴点に基づいて生成されたヒートマップ及びベクトル場である。右ひじの特徴点は図19における特徴点118に対応する。また、機械学習により学習させたモデルデータを使用する場合、左右の逆方向にも微弱な反応を示す場合がある。そのため図4に示すヒートマップ及び図5に示すベクトル場においては、左ひじの特徴点(図19において特徴点117に対応する)の周囲にもわずかに存在確率を表す確率場及び特徴点方向に補正するベクトル場が生成されている。
2次元姿勢群に含まれる2次元姿勢の数は入力画像の数と同じであり、ヒートマップ群に含まれるヒートマップ及びベクトル場群に含まれるベクトル場の数は、入力画像の数と被写体の数と特徴点の数の積と同じである。
2次元姿勢群に含まれる2次元姿勢の数は入力画像の数と同じであり、ヒートマップ群に含まれるヒートマップ及びベクトル場群に含まれるベクトル場の数は、入力画像の数と被写体の数と特徴点の数の積と同じである。
被写体追跡部14は、カメラパラメータ群及び2次元姿勢群を入力として、前述のように同一フレームにおける特徴点の2次元座標と三角測量を用いてフレーム毎に被写体別特徴点3次元座標を求める。このとき、被写体が複数名撮像空間内に存在する場合、被写体追跡部14は、例えば図6Aに示すように各被写体の同一特徴点におけるフレーム間3次元距離が最も近くなる被写体同士を同一被写体としての識別子(被写体識別子)を割り当てることで、図6Bに示すような被写体別特徴点3次元座標群を出力する。なお、被写体追跡部14が算出する被写体別特徴点3次元座標群は、従来手法と同じ三角測量を用いるため骨格長はフレーム毎に異なる値となる。
図7は、被写体別骨格長の一例である。骨格長推定部15は、被写体別特徴点3次元座標群を入力することで同一被写体のフレーム毎に異なる骨格長の中から例えば平均値を算出することで、各被写体の骨格モデルにおける骨格長を決定する。骨格モデルは、被写体を骨と関節で表すモデルである。各関節には可動域が設定される。各骨には骨格長が設定される。一部の特徴点は関節と一致する。上腕の長さなど、肩と肘の特徴点間距離により計測できる骨格長には計測した値を用い、背骨の長さなど計測困難な骨格長は、その他特徴点との距離関係から導出する推定値を用いる。なお、ここでは骨格長を決定するために平均値を用いたが、中央値や最頻値などを用いてもよい。
《骨格モデルフィッティング部の構成》
図8は、第1の実施形態に係る骨格モデルフィッティング部16の構成を示す図である。第1の実施形態に係る骨格モデルフィッティング部16は、ピーク座標出力部1610、ハフ投票点群出力部1611、被写体抽出部1612、フレーム抽出部1613、3次元姿勢推定部1614、対象フレーム3次元姿勢推定部1615、3次元姿勢記憶部1616、被写体出力部1617を備える。
図8は、第1の実施形態に係る骨格モデルフィッティング部16の構成を示す図である。第1の実施形態に係る骨格モデルフィッティング部16は、ピーク座標出力部1610、ハフ投票点群出力部1611、被写体抽出部1612、フレーム抽出部1613、3次元姿勢推定部1614、対象フレーム3次元姿勢推定部1615、3次元姿勢記憶部1616、被写体出力部1617を備える。
ピーク座標出力部1610は、ヒートマップ群を入力としてピーク値周辺座標群を出力する。ハフ投票点群出力部1611は、ベクトル場群及びピーク値周辺座標群を入力としてハフ投票点群を出力する。被写体抽出部1612は、被写体別特徴点3次元座標群及び被写体別骨格長を入力として対象となる被写体別に被写体特徴点3次元座標群及び被写体骨格長を出力する。フレーム抽出部1613は、被写体特徴点3次元座標群及びハフ投票点群を入力として対象フレーム別にフレーム被写体特徴点3次元座標群及びフレームハフ投票点群を出力する。3次元姿勢推定部1614は、被写体骨格長、フレーム被写体特徴点3次元座標群、過去被写体3次元姿勢群を入力として推定3次元姿勢を出力する。対象フレーム3次元姿勢推定部1615は、カメラパラメータ群、被写体骨格長、推定3次元姿勢、及びフレームハフ投票点群を入力としてフレーム被写体3次元姿勢を3次元姿勢記憶部1616に出力する。3次元姿勢記憶部1616は、被写体骨格長及びフレーム被写体3次元姿勢を入力として記憶し、要求に応じて記憶したデータを出力する。被写体出力部1617は、被写体別骨格長及び被写体別3次元姿勢群を3次元姿勢記憶部1616から取得して出力する。
図9Aはピーク座標を含むヒートマップの一例である。図9Bはピーク座標出力部が出力するピーク値周辺座標群の一例である。
ピーク座標出力部1610は、ヒートマップ群を入力として各ヒートマップにおけるピークを示す座標値周辺の座標をピーク値周辺座標群として出力する。このとき、ピーク座標は、例えば図9Aに示すように周辺信号値との勾配が凸になる部分を探索することで検出し、ピーク座標のヒートマップ信号値と近しい値をとるピーク座標周辺の座標を例えば所定の数量もしくはピーク座標のヒートマップ信号値との差が一定値以内の座標をサンプリングし、ピーク値周辺座標群を生成する。
ピーク座標出力部1610は、ヒートマップ群を入力として各ヒートマップにおけるピークを示す座標値周辺の座標をピーク値周辺座標群として出力する。このとき、ピーク座標は、例えば図9Aに示すように周辺信号値との勾配が凸になる部分を探索することで検出し、ピーク座標のヒートマップ信号値と近しい値をとるピーク座標周辺の座標を例えば所定の数量もしくはピーク座標のヒートマップ信号値との差が一定値以内の座標をサンプリングし、ピーク値周辺座標群を生成する。
図10は、ハフ投票点群出力部1611が出力するハフ投票点群の一例である。ハフ投票点群出力部1611は、ベクトル場群及びピーク値周辺座標群を入力として、図10に示すようにピーク値周辺座標群の各座標に対してベクトル場で補正したハフ投票点を、全ての座標に対してまとめたハフ投票点群を出力する。
つまりハフ投票点群出力部1611は、ベクトル場により被写体の特徴点の3次元座標群を補正する。
つまりハフ投票点群出力部1611は、ベクトル場により被写体の特徴点の3次元座標群を補正する。
過去被写体3次元姿勢群は、被写体抽出部1612にて対象とする被写体の過去フレームにおける3次元姿勢の集合を表す。
3次元姿勢推定部1614は、例えば先頭フレームや他物体による遮蔽によって対象フレーム直前の3次元姿勢が存在しない場合は、フレーム被写体特徴点3次元座標群における特徴点の3次元座標と対応する骨格モデルにおける関節の3次元座標間の誤差が最小になるようInverse KinematicsやForward Kinematicsによって被写体骨格長に設定した骨格モデルの関節回転角群を推定し、推定3次元姿勢を生成する。それ以外のフレームにおいては、過去被写体3次元姿勢群から対象フレームの関節回転角群を、例えば物理シミュレーションなどによって推定して推定3次元姿勢を生成する。
対象フレーム3次元姿勢推定部1615は、被写体骨格長と推定3次元姿勢から骨格モデルにおける全身関節の3次元座標群を求め、各関節の3次元座標を各撮影装置の画面に再投影したスクリーン座標と、対象関節と対応する特徴点におけるフレームハフ投票点群との間の距離を基にして特徴点の存在確率を算出する。例えば、対象フレーム3次元姿勢推定部1615は、式(1)により対象特徴点の存在確率を算出する。
ここでCは撮影装置の数、Niはi番目の撮影装置における対象特徴点に含まれるハフ投票点の数、li,jはi番目の撮影装置におけるj番目のハフ投票点が指し示す座標とスクリーン座標との距離(最大値をLとする)、Lはあらかじめ設定する正の定数である。すなわち、対象フレーム3次元姿勢推定部1615は、スクリーン座標と複数のハフ投票点が指し示す座標との距離に応じた特徴点の存在確率を用いて骨格モデルにおける各関節の回転角のフィッティングを行う。
対象フレーム3次元姿勢推定部1615は、スクリーン座標と複数のハフ投票点が指し示す座標との距離に応じた特徴点の存在確率を用いて骨格モデルにおける各関節の回転角のフィッティングを行うとき、例えば各関節の回転角を微小変化させた際の勾配を求め、勾配法を用いて全ての特徴点の合計存在確率が最大となるよう骨格モデルをフィッティングすることでフレーム被写体3次元姿勢を生成し出力する。
《骨格モデルフィッティング部の動作》
次に、第1の実施形態に係る骨格モデルフィッティング部16の動作について説明する。
図11は、第1の実施形態に係る骨格モデルフィッティング部16の動作を示すフローチャートである。
初めに、ピーク座標出力部1610は、ヒートマップ群の各ヒートマップに対してピーク値周辺の座標群をサンプリングする(ステップS100)。次に、ハフ投票点群出力部1611は、ピーク値周辺の各座標に対して対応するフレーム及び特徴点のベクトル場を用いて座標値を修正する(ステップS101)。被写体抽出部1612は、被写体別骨格長から被写体の人数を取得し、対象とする被写体を1つずつ選択し、骨格モデルフィッティング部16は被写体毎にステップS103からステップS111を繰り返す(ステップS102)。続いて、フレーム抽出部1613は、ハフ投票点群から総フレーム数を取得し、対象とするフレーム(対象フレーム)を1つずつ選択し、骨格モデルフィッティング部16は、フレーム毎にステップS104からステップS111を繰り返す(ステップS103)。3次元姿勢推定部1614は、被写体骨格長、フレーム被写体特徴点3次元座標群、及び過去被写体3次元姿勢群から対象フレームにおける推定3次元姿勢を生成する(ステップS104)。
次に、第1の実施形態に係る骨格モデルフィッティング部16の動作について説明する。
図11は、第1の実施形態に係る骨格モデルフィッティング部16の動作を示すフローチャートである。
初めに、ピーク座標出力部1610は、ヒートマップ群の各ヒートマップに対してピーク値周辺の座標群をサンプリングする(ステップS100)。次に、ハフ投票点群出力部1611は、ピーク値周辺の各座標に対して対応するフレーム及び特徴点のベクトル場を用いて座標値を修正する(ステップS101)。被写体抽出部1612は、被写体別骨格長から被写体の人数を取得し、対象とする被写体を1つずつ選択し、骨格モデルフィッティング部16は被写体毎にステップS103からステップS111を繰り返す(ステップS102)。続いて、フレーム抽出部1613は、ハフ投票点群から総フレーム数を取得し、対象とするフレーム(対象フレーム)を1つずつ選択し、骨格モデルフィッティング部16は、フレーム毎にステップS104からステップS111を繰り返す(ステップS103)。3次元姿勢推定部1614は、被写体骨格長、フレーム被写体特徴点3次元座標群、及び過去被写体3次元姿勢群から対象フレームにおける推定3次元姿勢を生成する(ステップS104)。
対象フレーム3次元姿勢推定部1615は、被写体骨格長に設定した骨格モデルの関節回転角を推定3次元姿勢に設定し(ステップS105)、特徴点に対応する全ての関節から1つずつ選択して関節毎にステップS107からステップS109を繰り返す(ステップS106)。続いて、対象フレーム3次元姿勢推定部1615は対象関節を各回転軸プラスマイナス方向に各微小角度回転させた際の子関節(子特徴点)の存在確率を式(1)にてそれぞれ計算する(ステップS107)。なお、ステップS107において、対象フレーム3次元姿勢推定部1615は対象関節の回転角自由度や回転範囲の制限を超えて回転する方向には変位しないよう制約を設けてもよい。
次に、対象フレーム3次元姿勢推定部1615はステップS107で計算した各回転軸の存在確率の勾配から、子関節(子特徴点)の存在確率が高くなる方向に対象関節の回転角を修正する(ステップS108)。対象フレーム3次元姿勢推定部1615は、修正した対象関節の回転角を用いて子関節(子特徴点)の存在確率を式(1)にて算出する(ステップS109)。対象フレーム3次元姿勢推定部1615は、全ての特徴点についての算出される存在確率の総和の変化量に基づいて、3次元姿勢を確定するか否かを判定する(ステップS110)。存在確率の総和が所定の量を超える場合(ステップS110-YES)、対象フレーム3次元姿勢推定部1615は直近に定められた3次元姿勢を対象フレームの3次元姿勢として決定し、3次元姿勢記憶部1616に被写体骨格長及びフレーム被写体3次元姿勢を保存する(ステップS111)。存在確率の和が所定の値以下である場合(ステップS110-NO)、対象フレーム3次元姿勢推定部1615は、ステップS106に処理を戻し、存在確率の総和が増加するように、骨格モデルの関節の角度を調整しながら、関節の回転角を補正する。
次に、対象フレーム3次元姿勢推定部1615はステップS107で計算した各回転軸の存在確率の勾配から、子関節(子特徴点)の存在確率が高くなる方向に対象関節の回転角を修正する(ステップS108)。対象フレーム3次元姿勢推定部1615は、修正した対象関節の回転角を用いて子関節(子特徴点)の存在確率を式(1)にて算出する(ステップS109)。対象フレーム3次元姿勢推定部1615は、全ての特徴点についての算出される存在確率の総和の変化量に基づいて、3次元姿勢を確定するか否かを判定する(ステップS110)。存在確率の総和が所定の量を超える場合(ステップS110-YES)、対象フレーム3次元姿勢推定部1615は直近に定められた3次元姿勢を対象フレームの3次元姿勢として決定し、3次元姿勢記憶部1616に被写体骨格長及びフレーム被写体3次元姿勢を保存する(ステップS111)。存在確率の和が所定の値以下である場合(ステップS110-NO)、対象フレーム3次元姿勢推定部1615は、ステップS106に処理を戻し、存在確率の総和が増加するように、骨格モデルの関節の角度を調整しながら、関節の回転角を補正する。
被写体出力部1617は、3次元姿勢記憶部1616から被写体別に被写体骨格長及び過去被写体3次元姿勢群を取得し、被写体別骨格長及び被写体別3次元姿勢群を出力する(ステップS112)。
《作用・効果》
このように、第1の実施形態によれば、3次元姿勢推定装置1はヒートマップ及びベクトル場からハフ投票点を生成し、骨格モデルの関節(特徴点)毎に関節の3次元座標をスクリーン座標に投影して、対象関節(特徴点)におけるハフ投票点との距離から算出される存在確率を最大化するよう被写体3次元姿勢を決定する。3次元姿勢推定装置1はハフ投票点群を用いた確率場を使用していることから、ヒートマップにおける1点を決定するよりも誤差の影響を取り除くことができ、より正確に被写体の3次元姿勢を推定することができる。
このように、第1の実施形態によれば、3次元姿勢推定装置1はヒートマップ及びベクトル場からハフ投票点を生成し、骨格モデルの関節(特徴点)毎に関節の3次元座標をスクリーン座標に投影して、対象関節(特徴点)におけるハフ投票点との距離から算出される存在確率を最大化するよう被写体3次元姿勢を決定する。3次元姿勢推定装置1はハフ投票点群を用いた確率場を使用していることから、ヒートマップにおける1点を決定するよりも誤差の影響を取り除くことができ、より正確に被写体の3次元姿勢を推定することができる。
〈第2の実施形態〉
第1の実施形態に係る3次元姿勢推定装置1は、ヒートマップ及びベクトル場からハフ投票点を生成し、骨格モデルの関節(特徴点)毎に関節の3次元座標をスクリーン座標に投影して、対象関節(特徴点)におけるハフ投票点との距離から算出される存在確率を最大化するように被写体3次元姿勢を決定する。これに対し、第2の実施形態に係る3次元姿勢推定装置1は、ヒートマップのピーク値周辺画素に対してラベリングを行うことで、計算量を低減しつつ、被写体の3次元姿勢を決定する。
第1の実施形態に係る3次元姿勢推定装置1は、ヒートマップ及びベクトル場からハフ投票点を生成し、骨格モデルの関節(特徴点)毎に関節の3次元座標をスクリーン座標に投影して、対象関節(特徴点)におけるハフ投票点との距離から算出される存在確率を最大化するように被写体3次元姿勢を決定する。これに対し、第2の実施形態に係る3次元姿勢推定装置1は、ヒートマップのピーク値周辺画素に対してラベリングを行うことで、計算量を低減しつつ、被写体の3次元姿勢を決定する。
図12は、第2の実施形態に係る骨格モデルフィッティング部16の構成を示す図である。第2の実施形態に係る骨格モデルフィッティング部16は、第1の実施形態の構成におけるピーク座標出力部1610、ハフ投票点群出力部1611、対象フレーム3次元姿勢推定部1615の代わりに、それぞれラベル付きピーク座標出力部1620、ラベル付きハフ投票点群出力部1621、対象フレーム3次元姿勢高速推定部1622を備える。
図13Aはピーク座標とラベル付きピーク座標の一例である。図13Bはラベル付きピーク座標出力部1620が出力するラベル付きピーク座標群の一例である。ラベル付きピーク座標出力部1620は、ヒートマップ群を入力として各ヒートマップにおけるピークを示す座標値周辺の座標及びラベルを、ラベル付きピーク値周辺座標群として出力する。基本的な機能はピーク座標出力部1610とほぼ同一であるが、図13Bに示すように隣接するピーク値周辺座標について同一のラベルを割り当て、出力データにラベルを含める部分が異なる。ラベル付きハフ投票点群出力部1621の基本的な機能はハフ投票点群出力部1611とほぼ同一であるが、入力がピーク値周辺座標群の代わりにラベル付きピーク値周辺座標群となり出力がラベル付きハフ投票点群となる部分が異なる。
対象フレーム3次元姿勢高速推定部1622は、基本的な機能は対象フレーム3次元姿勢推定部1615とほぼ同一であるが、入力がハフ投票点群の代わりにラベル付きハフ投票点群となり、スクリーン座標と対象関節と対応する特徴点におけるラベル付きフレームハフ投票点群との間の距離を基にして特徴点の存在確率を算出する部分が異なる。例えば、対象フレーム3次元姿勢高速推定部1622は、式(2)により対象特徴点の存在確率を算出する。
ここでMiはi番目の撮影装置におけるスクリーン座標が属するラベルと同一のラベルを持つラベル付きハフ投票点群の数である。すなわち、図14に示すようにスクリーン座標が属するラベルb以外のラベルが付与されたハフ投票点群は計算対象から除外される。
図15は、第2の実施形態に係る骨格モデルフィッティング部16の動作を示すフローチャートである。
初めに、ラベル付きピーク座標出力部1620は、ヒートマップ群の各ヒートマップに対してピーク値周辺の座標群をサンプリングし(ステップS200)、サンプリングした座標にラベルを付与する(ステップS201)。次に、ラベル付きハフ投票点群出力部1621は、ピーク値周辺の各座標に対して対応するフレーム及び特徴点のベクトル場を用いて座標値を修正する(ステップS202)。被写体抽出部1612は、被写体別骨格長から被写体の人数を取得し、対象とする被写体を1つずつ選択し、骨格モデルフィッティング部16は被写体毎にステップS204からステップS212を繰り返す(ステップS203)。続いて、フレーム抽出部1613は、ラベル付きハフ投票点群から総フレーム数を取得し、対象とするフレームを1つずつ選択し、骨格モデルフィッティング部16はフレーム毎にステップS205からステップS212を繰り返す(ステップS204)。次に3次元姿勢推定部1614は、被写体骨格長、フレーム被写体特徴点3次元座標群、及び過去被写体3次元姿勢群から対象フレームにおける推定3次元姿勢を生成する(ステップS205)。
初めに、ラベル付きピーク座標出力部1620は、ヒートマップ群の各ヒートマップに対してピーク値周辺の座標群をサンプリングし(ステップS200)、サンプリングした座標にラベルを付与する(ステップS201)。次に、ラベル付きハフ投票点群出力部1621は、ピーク値周辺の各座標に対して対応するフレーム及び特徴点のベクトル場を用いて座標値を修正する(ステップS202)。被写体抽出部1612は、被写体別骨格長から被写体の人数を取得し、対象とする被写体を1つずつ選択し、骨格モデルフィッティング部16は被写体毎にステップS204からステップS212を繰り返す(ステップS203)。続いて、フレーム抽出部1613は、ラベル付きハフ投票点群から総フレーム数を取得し、対象とするフレームを1つずつ選択し、骨格モデルフィッティング部16はフレーム毎にステップS205からステップS212を繰り返す(ステップS204)。次に3次元姿勢推定部1614は、被写体骨格長、フレーム被写体特徴点3次元座標群、及び過去被写体3次元姿勢群から対象フレームにおける推定3次元姿勢を生成する(ステップS205)。
対象フレーム3次元姿勢高速推定部1622は、被写体骨格長に設定した骨格モデルの関節回転角を推定3次元姿勢に設定し(ステップS206)、特徴点に対応する全ての関節から1つずつ選択して関節毎にステップS208からステップS210を繰り返す(ステップS207)。続いて、対象フレーム3次元姿勢高速推定部1622は、対象関節を各回転軸プラスマイナス方向に各微小角度回転させた際の子関節(子特徴点)の存在確率を式(2)にてそれぞれ計算する(ステップS208)。なお、対象フレーム3次元姿勢高速推定部1622は、ステップS208において、対象関節の回転角自由度や回転範囲の制限を超えて回転する方向には変位しないよう制約を設けてもよい。次に、対象フレーム3次元姿勢高速推定部1622はステップS208で計算した各回転軸の存在確率の勾配から、子関節(子特徴点)の存在確率が高くなる方向に対象関節の回転角を修正する(ステップS209)。対象フレーム3次元姿勢高速推定部1622は、修正した対象関節の回転角を用いて子関節(子特徴点)の存在確率を式(2)にて算出する(ステップS210)。対象フレーム3次元姿勢高速推定部1622は、全ての特徴点についての算出される存在確率の総和の変化量に基づいて、3次元姿勢を確定するか否かを判定する(ステップS211)。存在確率の総和が所定の量を超える場合(ステップS211-YES)、対象フレーム3次元姿勢高速推定部1622は直近に定められた3次元姿勢を対象フレームの3次元姿勢として決定し、3次元姿勢記憶部1616に被写体骨格長及びフレーム被写体3次元姿勢を保存する(ステップS212)。存在確率の和が所定の値以下である場合(ステップS211-NO)、対象フレーム3次元姿勢高速推定部1622は、ステップS207に処理を戻し、存在確率の総和が増加するように、骨格モデルの関節の角度を調整しながら、関節の回転角を補正する。
被写体出力部1617は、3次元姿勢記憶部1616から被写体別に被写体骨格長及び過去被写体3次元姿勢群を取得し、被写体骨格長及び被写体別3次元姿勢群を出力する(ステップS112)。
《作用・効果》
このように、第2の実施形態によれば、3次元姿勢推定装置1はヒートマップのピーク値周辺画素に対してラベリングを行うことで、スクリーン座標が属するラベル以外のハフ投票点群は計算対象から除外することができる。これにより、3次元姿勢推定装置1はより速く被写体の3次元姿勢を推定することができる。
このように、第2の実施形態によれば、3次元姿勢推定装置1はヒートマップのピーク値周辺画素に対してラベリングを行うことで、スクリーン座標が属するラベル以外のハフ投票点群は計算対象から除外することができる。これにより、3次元姿勢推定装置1はより速く被写体の3次元姿勢を推定することができる。
〈第3の実施形態〉
第2の実施形態に係る3次元姿勢推定装置1は、ヒートマップのピーク値周辺画素に対してラベリングを行うことで、スクリーン座標が属するラベル以外のハフ投票点群は計算対象から除外することで存在確率を求める。これに対し、第3の実施形態に係る3次元姿勢推定装置1は、ヒートマップ信号値を用いて存在確率の推定精度向上を行う。
図16は、第3の実施形態に係る骨格モデルフィッティング部16の構成を示す図である。第3の実施形態に係る骨格モデルフィッティング部16は、第1の実施形態の構成におけるピーク座標出力部1610、ハフ投票点群出力部1611、及び対象フレーム3次元姿勢推定部1615の代わりに、それぞれ信号値付きピーク座標出力部1630、信号値付きハフ投票点群出力部1631、及び対象フレーム3次元姿勢高精度推定部1632を備える。
第2の実施形態に係る3次元姿勢推定装置1は、ヒートマップのピーク値周辺画素に対してラベリングを行うことで、スクリーン座標が属するラベル以外のハフ投票点群は計算対象から除外することで存在確率を求める。これに対し、第3の実施形態に係る3次元姿勢推定装置1は、ヒートマップ信号値を用いて存在確率の推定精度向上を行う。
図16は、第3の実施形態に係る骨格モデルフィッティング部16の構成を示す図である。第3の実施形態に係る骨格モデルフィッティング部16は、第1の実施形態の構成におけるピーク座標出力部1610、ハフ投票点群出力部1611、及び対象フレーム3次元姿勢推定部1615の代わりに、それぞれ信号値付きピーク座標出力部1630、信号値付きハフ投票点群出力部1631、及び対象フレーム3次元姿勢高精度推定部1632を備える。
図17Aはピーク座標と信号値付きピーク座標の一例である。図17Bは信号値付きピーク座標出力部が出力する信号値付きピーク座標群の一例である。信号値付きピーク座標出力部1630は、ヒートマップ群を入力として各ヒートマップにおけるピークを示す座標値周辺の座標及びヒートマップ信号値を、信号値付きピーク値周辺座標群として出力する。基本的な機能はピーク座標出力部1610とほぼ同一であるが、図17Bに示すように対象座標のヒートマップ信号値を出力データに含める部分が異なる。信号値付きハフ投票点群出力部1631の基本的な機能はハフ投票点群出力部1611とほぼ同一であるが、入力がピーク値周辺座標群の代わりに信号値付きピーク値周辺座標群となり出力が信号値付きハフ投票点群となる部分が異なる。
対象フレーム3次元姿勢高精度推定部1632は、基本的な機能は対象フレーム3次元姿勢推定部1615とほぼ同一であるが、入力がハフ投票点群の代わりに信号値付きハフ投票点群となり、スクリーン座標と対象関節と対応する特徴点における信号値付きフレームハフ投票点群との間の距離を基にして特徴点の存在確率を算出する部分が異なる。例えば、対象フレーム3次元姿勢高精度推定部1632は、式(3)により対象特徴点の存在確率を算出する。
ここでhi、jはi番目のヒートマップにおけるj番目の画素の特徴点の存在確率の値である。すなわち、ヒートマップ信号値に応じた加重和を、存在確率として算出する。
2次元姿勢推定技術では、遮蔽物などで特徴点が隠れている場合においても確からしい座標周辺にヒートマップの信号値は低いながらもピークが現れる特徴を持つが、これらのピーク値周辺座標におけるハフ投票点群を、当該特徴点が明確に撮影された撮影装置201から取得されたヒートマップのピーク値周辺座標におけるハフ投票点群と同列に扱うと誤差が重畳する。そのため、ヒートマップ信号値に応じた加重和を用いて存在確率を算出することで、誤差を軽減し3次元姿勢推定精度を高めることができる。
図18は、第3の実施形態に係る骨格モデルフィッティング部16の動作を示すフローチャートである。
初めに、信号値付きピーク座標出力部1630は、ヒートマップ群の各ヒートマップに対してピーク値周辺の座標群をサンプリングし(ステップS300)、サンプリングした座標にヒートマップ信号値を付与する(ステップS301)。次に、信号値付きハフ投票点群出力部1631は、ピーク値周辺の各座標に対して対応するフレーム及び特徴点のベクトル場を用いて座標値を修正する(ステップS302)。被写体抽出部1612は、被写体別骨格長から被写体の人数を取得し、対象とする被写体を1つずつ選択し、骨格モデルフィッティング部16は被写体毎にステップS304からステップS312を繰り返す(ステップS303)。続いて、フレーム抽出部1613は、ハフ投票点群から総フレーム数を取得し、対象とするフレームを1つずつ選択し、骨格モデルフィッティング部16はフレーム毎にステップS305からステップS312を繰り返す(ステップS304)。次に3次元姿勢推定部1614は、被写体骨格長、フレーム被写体特徴点3次元座標群、及び過去被写体3次元姿勢群から対象フレームにおける推定3次元姿勢を生成する(ステップS305)。
初めに、信号値付きピーク座標出力部1630は、ヒートマップ群の各ヒートマップに対してピーク値周辺の座標群をサンプリングし(ステップS300)、サンプリングした座標にヒートマップ信号値を付与する(ステップS301)。次に、信号値付きハフ投票点群出力部1631は、ピーク値周辺の各座標に対して対応するフレーム及び特徴点のベクトル場を用いて座標値を修正する(ステップS302)。被写体抽出部1612は、被写体別骨格長から被写体の人数を取得し、対象とする被写体を1つずつ選択し、骨格モデルフィッティング部16は被写体毎にステップS304からステップS312を繰り返す(ステップS303)。続いて、フレーム抽出部1613は、ハフ投票点群から総フレーム数を取得し、対象とするフレームを1つずつ選択し、骨格モデルフィッティング部16はフレーム毎にステップS305からステップS312を繰り返す(ステップS304)。次に3次元姿勢推定部1614は、被写体骨格長、フレーム被写体特徴点3次元座標群、及び過去被写体3次元姿勢群から対象フレームにおける推定3次元姿勢を生成する(ステップS305)。
対象フレーム3次元姿勢高精度推定部1632は、被写体骨格長に設定した骨格モデルの関節回転角を推定3次元姿勢に設定し(ステップS306)、特徴点に対応する全ての関節から1つずつ選択して関節毎にステップS308からステップS310を繰り返す(ステップS307)。続いて、対象フレーム3次元姿勢高精度推定部1632は対象関節を各回転軸プラスマイナス方向に各微小角度回転させた際の子関節(子特徴点)の存在確率を式(3)にてそれぞれ計算する(ステップS308)。なお、ステップS308において対象フレーム3次元姿勢高精度推定部1632は、対象関節の回転角自由度や回転範囲の制限を超えて回転する方向には変位しないよう制約を設けてもよい。次に、対象フレーム3次元姿勢高精度推定部1632はステップS308で計算した各回転軸の存在確率の勾配から、子関節(子特徴点)の存在確率が高くなる方向に対象関節の回転角を修正する(ステップS309)。対象フレーム3次元姿勢高精度推定部1632は、修正した対象関節の回転角を用いて子関節(子特徴点)の存在確率を式(3)にて算出する(ステップS310)。対象フレーム3次元姿勢高精度推定部1632は全ての特徴点についての算出される存在確率の総和の変化量に基づいて、3次元姿勢を確定するか否かを判定する(ステップS311)。存在確率の総和が所定の量を超える場合(ステップS311-YES)、対象フレーム3次元姿勢高精度推定部1632は直近に定められた3次元姿勢を対象フレームの3次元姿勢として決定し、3次元姿勢記憶部1616に被写体骨格長及びフレーム被写体3次元姿勢を保存する(ステップS312)。存在確率の和が所定の値以下である場合(ステップS311-NO)、対象フレーム3次元姿勢高精度推定部1632は、ステップS307に処理を戻し、存在確率の総和が増加するように、骨格モデルの関節の角度を調整しながら、関節の回転角を補正する。
被写体出力部1617は、3次元姿勢記憶部1616から被写体別に被写体骨格長及び過去被写体3次元姿勢群を取得し、被写体骨格長及び被写体別3次元姿勢群を出力する(ステップS112)。
《作用・効果》
このように、第3の実施形態によれば、3次元姿勢推定装置1はヒートマップ信号値に応じた加重和を用いて存在確率を算出することで、確からしさが低いハフ投票点群の影響を軽減することができる。これにより、3次元姿勢推定装置1はより高い精度で被写体の3次元姿勢を推定することができる。
このように、第3の実施形態によれば、3次元姿勢推定装置1はヒートマップ信号値に応じた加重和を用いて存在確率を算出することで、確からしさが低いハフ投票点群の影響を軽減することができる。これにより、3次元姿勢推定装置1はより高い精度で被写体の3次元姿勢を推定することができる。
本明細書における第1から第3の実施形態においては、関節の回転角についてフィッティングする例の解説を行ったが、root関節の3軸座標も同様に微小変化させた際の勾配を求め、勾配法を用いてフィッティングすることができる。
〈他の実施形態〉
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、上述した実施形態においては、特徴点推定装置を、被写体の姿勢を推定する3次元姿勢推定装置1として用いるが、他の実施形態においてはこれに限られない。例えば、他の実施形態においては、特徴点推定装置が被写体の一部の特徴点のみを推定し、姿勢の推定までを行わないものであってもよい。
姿勢推定装置は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、プログラムを実行することによって画像取得部、ヒートマップ生成部、特徴点推定部、骨格推定部、出力部を備える装置として機能する。なお、姿勢推定装置の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
1 3次元姿勢推定装置
2 モーションキャプチャシステム
10 画像取得部
11 2次元姿勢推定部
12 2次元姿勢推定モデル記憶部
13 カメラパラメータ取得部
14 被写体追跡部
15 骨格長推定部
16 骨格モデルフィッティング部
1610 ピーク座標出力部
1611 ハフ投票点群出力部
1612 被写体抽出部
1613 フレーム抽出部
1614 3次元姿勢推定部
1615 対象フレーム3次元姿勢推定部
1616 3次元姿勢記憶部
1617 被写体出力部
1620 ラベル付きピーク座標出力部
1621 ラベル付きハフ投票点群出力部
1622 対象フレーム3次元姿勢高速推定部
1630 信号値付きピーク座標出力部
1631 信号値付きハフ投票点群出力部
1632 対象フレーム3次元姿勢高精度推定部
2 モーションキャプチャシステム
10 画像取得部
11 2次元姿勢推定部
12 2次元姿勢推定モデル記憶部
13 カメラパラメータ取得部
14 被写体追跡部
15 骨格長推定部
16 骨格モデルフィッティング部
1610 ピーク座標出力部
1611 ハフ投票点群出力部
1612 被写体抽出部
1613 フレーム抽出部
1614 3次元姿勢推定部
1615 対象フレーム3次元姿勢推定部
1616 3次元姿勢記憶部
1617 被写体出力部
1620 ラベル付きピーク座標出力部
1621 ラベル付きハフ投票点群出力部
1622 対象フレーム3次元姿勢高速推定部
1630 信号値付きピーク座標出力部
1631 信号値付きハフ投票点群出力部
1632 対象フレーム3次元姿勢高精度推定部
Claims (8)
- 異なる地点に位置する複数の撮影装置により同一の被写体が撮影された画像群を入力とし、前記被写体に対し予め学習された2次元姿勢推定モデルを用いて、被写体別に、複数の特徴点の2次元位置を示す2次元座標群と、特徴点毎の存在確率を表すヒートマップ群と、ヒートマップのピーク値周辺の座標を対象特徴点方向に補正するベクトル場群とを生成する2次元姿勢推定部と、
前記撮影装置のカメラパラメータと前記2次元座標群とを用いて前記被写体別に、前記複数の特徴点の3次元位置を示す特徴点3次元座標群を生成する被写体追跡部と、
前記被写体別の特徴点3次元座標群を用いて被写体別の骨格長を推定する骨格長推定部と、
前記ヒートマップ群、前記ベクトル場群、前記撮影装置のカメラパラメータ、前記特徴点3次元座標群、及び前記骨格長を用いて被写体別の3次元姿勢を推定する骨格モデルフィッティング部と
を備える3次元姿勢推定装置。 - 前記骨格モデルフィッティング部は、前記ヒートマップ群及び前記ベクトル場群に基づくハフ投票により前記特徴点3次元座標群を補正する
請求項1に記載の3次元姿勢推定装置。 - 前記骨格モデルフィッティング部は、前記被写体を関節と骨の組み合わせで表す骨格モデルの前記関節の回転角を推定することで、前記被写体別の3次元姿勢を推定する
請求項1又は請求項2に記載の3次元姿勢推定装置。 - 前記骨格モデルフィッティング部は、
前記特徴点毎に生成した前記ヒートマップの信号値がピーク値を示す座標群を前記ベクトル場群によって補正したハフ投票点群を生成し、
前記被写体を関節と骨の組み合わせで表す骨格モデルの各関節を各撮影装置の画像上に投影したスクリーン座標と、各撮影装置の対象関節と対応する特徴点を指す前記ハフ投票点群とスクリーン座標との距離に応じて特徴点の存在確率を計算し、
全ての特徴点における存在確率が最も高くなるように、前記骨格モデルの各関節における関節回転角を推定することで、被写体の3次元姿勢を推定することを特徴とする
請求項1から請求項3の何れか1項に記載の3次元姿勢推定装置。 - 前記骨格モデルフィッティング部は、
特徴点毎に生成した前記ヒートマップの信号値がピーク値を示す座標群に対してラベルを付与し、
前記特徴点の存在確率を計算する際に、子関節の3次元座標をスクリーン上に投影したスクリーン座標が属するラベルと同一のラベルが付与されたハフ投票点群のみを用いることを特徴とする
請求項4に記載の3次元姿勢推定装置。 - 前記骨格モデルフィッティング部は、
特徴点毎に生成した前記ヒートマップの信号値がピーク値を示す座標群に対して前記ヒートマップの信号値を付与し、
前記特徴点の存在確率の導出のため、各ハフ投票点との距離を計算する際に、前記ヒートマップの信号値を乗じることを特徴とする
請求項4に記載の3次元姿勢推定装置。 - 異なる地点に位置する複数の撮影装置により同一の被写体が撮影された画像群を入力とし、前記被写体に対し予め学習された2次元姿勢推定モデルを用いて、被写体別に、複数の特徴点の2次元位置を示す2次元座標群と、特徴点毎の存在確率を表すヒートマップ群と、ヒートマップのピーク値周辺の座標を対象特徴点方向に補正するベクトル場群とを生成する2次元姿勢推定ステップと、
前記撮影装置のカメラパラメータと前記2次元座標群とを用いて前記被写体別に、前記複数の特徴点の3次元位置を示す特徴点3次元座標群を生成する被写体追跡ステップと、
前記被写体別の特徴点3次元座標群を用いて被写体別の骨格長を推定する骨格長推定ステップと、
前記ヒートマップ群、前記ベクトル場群、前記撮影装置のカメラパラメータ、前記特徴点3次元座標群、及び前記骨格長を用いて被写体別の3次元姿勢を推定する骨格モデルフィッティングステップと
を有する3次元姿勢推定方法。 - コンピュータを、請求項1から請求項6の何れか1項に記載の3次元姿勢推定装置として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022538517A JP7498404B2 (ja) | 2020-07-20 | 2020-07-20 | 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム |
PCT/JP2020/028163 WO2022018811A1 (ja) | 2020-07-20 | 2020-07-20 | 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/028163 WO2022018811A1 (ja) | 2020-07-20 | 2020-07-20 | 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022018811A1 true WO2022018811A1 (ja) | 2022-01-27 |
Family
ID=79729123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/028163 WO2022018811A1 (ja) | 2020-07-20 | 2020-07-20 | 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7498404B2 (ja) |
WO (1) | WO2022018811A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117618168A (zh) * | 2024-01-25 | 2024-03-01 | 北京壹点灵动科技有限公司 | 髋臼杯假体植入角度的确定方法和装置及存储介质 |
WO2024098688A1 (zh) * | 2022-11-07 | 2024-05-16 | 广州趣丸网络科技有限公司 | 一种人体三维姿态还原方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019030794A1 (ja) * | 2017-08-07 | 2019-02-14 | 富士通株式会社 | 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法 |
JP2019079487A (ja) * | 2017-10-25 | 2019-05-23 | 日本電信電話株式会社 | パラメータ最適化装置、パラメータ最適化方法、プログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PT3656302T (pt) | 2018-11-26 | 2020-11-03 | Lindera Gmbh | Sistema e método para análise da marcha humana |
-
2020
- 2020-07-20 WO PCT/JP2020/028163 patent/WO2022018811A1/ja active Application Filing
- 2020-07-20 JP JP2022538517A patent/JP7498404B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019030794A1 (ja) * | 2017-08-07 | 2019-02-14 | 富士通株式会社 | 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法 |
JP2019079487A (ja) * | 2017-10-25 | 2019-05-23 | 日本電信電話株式会社 | パラメータ最適化装置、パラメータ最適化方法、プログラム |
Non-Patent Citations (1)
Title |
---|
GEORGE PAPANDREOU ET AL.: "PersonLab: Person Pose Estimation and Instance Segmentation with a Bottom-Up, Part-Based, Geometric Embedding Model", EUROPEAN CONFERENCE ON COMPUTER VISION 2018, 9 October 2018 (2018-10-09), pages 282 - 299, XP047500429, DOI: 10.1007/978-3-030-01264-9_17 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024098688A1 (zh) * | 2022-11-07 | 2024-05-16 | 广州趣丸网络科技有限公司 | 一种人体三维姿态还原方法、装置、电子设备及存储介质 |
CN117618168A (zh) * | 2024-01-25 | 2024-03-01 | 北京壹点灵动科技有限公司 | 髋臼杯假体植入角度的确定方法和装置及存储介质 |
CN117618168B (zh) * | 2024-01-25 | 2024-05-28 | 北京壹点灵动科技有限公司 | 髋臼杯假体植入角度的确定方法和装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2022018811A1 (ja) | 2022-01-27 |
JP7498404B2 (ja) | 2024-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zheng et al. | Hybridfusion: Real-time performance capture using a single depth sensor and sparse imus | |
US10109055B2 (en) | Multiple hypotheses segmentation-guided 3D object detection and pose estimation | |
US10334168B2 (en) | Threshold determination in a RANSAC algorithm | |
US9189855B2 (en) | Three dimensional close interactions | |
US20070268295A1 (en) | Posture estimation apparatus and method of posture estimation | |
JP6816058B2 (ja) | パラメータ最適化装置、パラメータ最適化方法、プログラム | |
Sundaresan et al. | Markerless motion capture using multiple cameras | |
CN111862299A (zh) | 人体三维模型构建方法、装置、机器人和存储介质 | |
JP2011198349A (ja) | 情報処理方法及びその装置 | |
JP2007004767A (ja) | 画像認識装置、方法およびプログラム | |
JP2016099982A (ja) | 行動認識装置、行動学習装置、方法、及びプログラム | |
CN112183506A (zh) | 一种人体姿态生成方法及其*** | |
WO2022018811A1 (ja) | 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム | |
JP2005339288A (ja) | 画像処理装置及びその方法 | |
JP2017123087A (ja) | 連続的な撮影画像に映り込む平面物体の法線ベクトルを算出するプログラム、装置及び方法 | |
EP3185212B1 (en) | Dynamic particle filter parameterization | |
CN114627491A (zh) | 一种基于极线汇聚的单人三维姿态估计方法 | |
JP6922348B2 (ja) | 情報処理装置、方法、及びプログラム | |
Lee et al. | Human body tracking with auxiliary measurements | |
JP3401512B2 (ja) | 移動物体追跡装置 | |
He | Generation of Human Body Models | |
CN114548224B (zh) | 一种用于强交互人体运动的2d人***姿生成方法及装置 | |
CN108694348B (zh) | 一种基于自然特征的跟踪注册方法及装置 | |
Alcoverro et al. | Skeleton and shape adjustment and tracking in multicamera environments | |
JP2022092528A (ja) | 三次元人物姿勢推定装置、方法およびプログラム |
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: 20946155 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022538517 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20946155 Country of ref document: EP Kind code of ref document: A1 |