WO2022254644A1 - 姿勢推定装置、姿勢推定方法、及びコンピュータ読み取り可能な記録媒体 - Google Patents

姿勢推定装置、姿勢推定方法、及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
WO2022254644A1
WO2022254644A1 PCT/JP2021/021140 JP2021021140W WO2022254644A1 WO 2022254644 A1 WO2022254644 A1 WO 2022254644A1 JP 2021021140 W JP2021021140 W JP 2021021140W WO 2022254644 A1 WO2022254644 A1 WO 2022254644A1
Authority
WO
WIPO (PCT)
Prior art keywords
joint
person
posture estimation
detected
joints
Prior art date
Application number
PCT/JP2021/021140
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 JP2023525270A priority Critical patent/JPWO2022254644A5/ja
Priority to US18/273,431 priority patent/US20240119620A1/en
Priority to PCT/JP2021/021140 priority patent/WO2022254644A1/ja
Publication of WO2022254644A1 publication Critical patent/WO2022254644A1/ja

Links

Images

Classifications

    • 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/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0059Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence
    • A61B5/0077Devices for viewing the surface of the body, e.g. camera, magnifying lens
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1116Determining posture transitions
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • A61B5/1128Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • 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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2576/00Medical imaging apparatus involving image processing or analysis
    • 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/10016Video; Image sequence
    • 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/20081Training; Learning
    • 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
    • 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/30232Surveillance

Definitions

  • the present invention relates to a posture estimation device and a posture estimation method for estimating the posture of a person in an image, and a computer-readable recording medium for realizing them.
  • Non-Patent Documents 1 and 2 disclose an example of a system for estimating a person's posture. Specifically, the system disclosed in Non-Patent Document 1 first acquires image data output from a camera, and estimates the joints of a person in the image and the vector field between the joints from the acquired image data. do. The system disclosed in Non-Patent Document 1 then determines the inter-joint orientation for each pair of two adjacent joints.
  • the system disclosed in Non-Patent Document 1 obtains the inner product of the obtained direction and the vector field estimated between the joints for each pair of two adjacent joints, and further, based on the inner product, Calculate the probability of connection between joints. After that, the system disclosed in Non-Patent Document 1 identifies the joints to be connected based on the likelihood, and estimates the posture of the person.
  • Non-Patent Document 2 first acquires image data output from a camera, inputs the acquired image data to a detector, and determines the reference position of a person in the image and the reference of each joint. and output the relative position from the position. Next, the system disclosed in Non-Patent Document 2 estimates the posture of the person in the image based on the output reference position of the person and the relative positions of each joint.
  • the detector in this case is constructed by machine learning using images, the reference position of the person in the image and the relative positions of each joint as training data.
  • Non-Patent Documents 1 and 2 if a part of a person whose pose is to be estimated is hidden by another person or object in the image, the pose cannot be accurately estimated. There is a problem.
  • the right knee of the person to be estimated is detected in the image, but the right ankle is hidden by the right knee of another person and is not detected.
  • the right knee of the person to be estimated is likely to be tied to the right ankle of another person, making it impossible to accurately estimate the posture.
  • An example of an object of the present invention is to provide a posture estimation device, a posture estimation method, and a computer-readable recording medium that can improve the accuracy of posture estimation when a part of a person to be estimated is hidden. to provide.
  • a posture estimation device includes: A position calculation unit that calculates a temporary reference position of the person based on the position of each joint of the person detected from the image data and the displacement from the joint to the reference part of the person.
  • a posture estimation unit that determines, for each of the detected joints, a person to whom the joint belongs based on the calculated temporary reference position; characterized by comprising
  • a posture estimation method includes: A position calculation step of calculating a temporary reference position of the person based on the position of each joint of the person detected from the image data and the displacement from the joint to the reference part of the person.
  • a posture estimation step of determining, for each of the detected joints, a person to whom the joint belongs based on the calculated temporary reference position characterized by comprising
  • a computer-readable recording medium in one aspect of the present invention provides a computer with A position calculation step of calculating a temporary reference position of the person based on the position of each joint of the person detected from the image data and the displacement from the joint to the reference part of the person.
  • a posture estimation step of determining, for each of the detected joints, a person to whom the joint belongs based on the calculated temporary reference position;
  • a program is recorded that includes instructions for executing
  • FIG. 1 is a configuration diagram showing a schematic configuration of a posture estimation apparatus according to Embodiment 1.
  • FIG. 2A and 2B are diagrams showing positions calculated by the position calculation unit, FIG. 2A shows an example of joint positions, FIG. 2B shows an example of relative positions, and FIG. indicates an example of a temporary reference position.
  • FIG. 3 is a diagram showing a specific configuration and processing of the position calculation unit.
  • FIG. 4 is a diagram illustrating an outline of processing by a position calculation unit and a posture estimation unit;
  • FIG. 5 is a diagram showing specific processing in the posture estimation unit.
  • FIG. 6 is a diagram illustrating an outline of processing by a position calculation unit and a posture estimation unit when a reference position cannot be detected;
  • FIG. 1 is a configuration diagram showing a schematic configuration of a posture estimation apparatus according to Embodiment 1.
  • FIG. 2A and 2B are diagrams showing positions calculated by the position calculation unit, FIG. 2A shows an example of joint positions, FIG. 2B shows an example of
  • FIG. 7 is a diagram showing specific processing in the attitude estimation unit when the reference position cannot be detected.
  • 8 is a flow chart showing the operation of the posture estimation device according to Embodiment 1.
  • FIG. 9 is a diagram showing a specific configuration and processing of a position calculation unit according to Embodiment 2.
  • FIG. 10 is a diagram illustrating a specific configuration and processing of a position calculation unit in Modification 1 of Embodiment 2.
  • FIG. 11 is a diagram illustrating a specific configuration and processing of a position calculation unit in Modification 2 of Embodiment 2.
  • FIG. 12 is a block diagram of an example of a computer that implements the posture estimation apparatus according to the first and second embodiments; FIG.
  • Embodiment 1 A posture estimation device, a posture estimation method, and a program according to Embodiment 1 will be described below with reference to FIGS. 1 to 8.
  • FIG. 1 A posture estimation device, a posture estimation method, and a program according to Embodiment 1 will be described below with reference to FIGS. 1 to 8.
  • FIG. 1 A posture estimation device, a posture estimation method, and a program according to Embodiment 1 will be described below with reference to FIGS. 1 to 8.
  • FIG. 1 is a configuration diagram showing a schematic configuration of a posture estimation apparatus according to Embodiment 1.
  • FIG. 1 is a configuration diagram showing a schematic configuration of a posture estimation apparatus according to Embodiment 1.
  • the posture estimation device 10 according to Embodiment 1 shown in FIG. 1 is a device that estimates the posture of a person in an image. As shown in FIG. 1 , posture estimation device 10 includes position calculation section 20 and posture estimation section 30 .
  • the position calculation unit 20 calculates, for each joint of the person detected from the image data, the position of the joint and the displacement (hereinafter referred to as the “relative A temporary reference position of the person is calculated based on .
  • the posture estimation unit 30 determines the person to whom the joint belongs based on the calculated temporary reference position for each detected joint.
  • Embodiment 1 the position of each joint detected on the image data and the relative displacement from each joint to the reference part of the person (for example, abdomen, neck, etc.) are used to determine the joint position.
  • a temporary reference position is calculated for each joint, and the temporary reference position determines which person each joint belongs to.
  • the joints and the person can be connected as long as the relative displacement from the joints to the reference parts is known. Therefore, according to Embodiment 1, it is possible to improve the accuracy of posture estimation even when a part of the person to be estimated is hidden.
  • FIG. 2A and 2B are diagrams showing positions calculated by the position calculation unit, FIG. 2A shows an example of joint positions, FIG. 2B shows an example of relative positions, and FIG. indicates an example of a temporary reference position.
  • FIG. 3 is a diagram showing a specific configuration and processing of the position calculation unit.
  • the position calculation unit 20 detects the joints of the person and the reference parts of the person from the image data, as shown in FIG. 2(a).
  • the position calculation unit 20 also estimates the detected positions of the joints (hereinafter referred to as “joint positions”) and the detected positions of the reference parts. This estimated position of the reference part is not a temporary position but a true "reference position”.
  • the target joints are the right wrist, right elbow, right ankle, right knee, left wrist, left elbow, left ankle, left knee, etc., and are set in advance.
  • a reference part is also set in advance. Examples of reference sites include the solar plexus, the base of the neck, and the like.
  • the joint positions are indicated by ⁇ , and the reference positions are indicated by ⁇ .
  • the position calculation unit 20 can also estimate the positions of preset parts, such as the position of the head, in addition to the joint positions and the reference positions.
  • the position of the head is also indicated by ⁇ .
  • the joint position includes the position of the head.
  • the position calculator 20 also estimates the displacement (x, y) from the joint to the reference part for each joint in the image from the image data, as shown in FIG. 2(b).
  • the position calculation unit 20 calculates a temporary reference position for each joint.
  • the provisional reference position is the provisional position of the reference part of the person estimated from the joint position of each joint.
  • the temporary reference position may differ for each joint. Specifically, as shown in FIG. 2C, for each joint in the image, the position calculation unit 20 adds together the coordinates of the joint position and the relative displacement of the joint to obtain a temporary reference position. Calculate
  • the temporary reference position is indicated by ⁇ .
  • the position of the reference part (reference position) and the provisional reference position of each joint do not match because the joint position, reference position, and displacement are different from the image. This is because it is estimated by processing.
  • the image processing used in Embodiment 1 will be described later.
  • the position calculator 20 includes a convolutional neural network (CNN) 21 and a calculation processor 22 .
  • CNN convolutional neural network
  • the CNN 21 When the image data of the person is input, the CNN 21 outputs a map (hereinafter referred to as “joint position/reference position map”) 23 indicating the existence probability for each reference part and each joint of the person. . In addition, when the image data of the person is input, the CNN 21 also outputs a map (hereinafter referred to as "relative displacement map”) 24 indicating the relative displacement of each joint of the person.
  • a map hereinafter referred to as "joint position/reference position map”
  • relative displacement map indicating the relative displacement of each joint of the person.
  • the joint position/reference position map 23 is, for example, a two-dimensional heat map that expresses the existence probability of the target in terms of density.
  • the relative displacement map 24 is a map that stores the magnitude and direction of relative displacement in elements corresponding to joint positions on the map.
  • the CNN 21 is constructed by performing deep learning using an image to be extracted and a label indicating the extraction target as training data.
  • the CNN 21 When there are multiple persons in the image data, the CNN 21 outputs a joint position/reference position map 23 for each joint in the image.
  • each of the joint position/reference position maps 23 is provided with information indicating a joint site (right elbow, left elbow, etc.) or information indicating a reference site.
  • the relative displacement map 24 is also provided with information indicating the corresponding joint parts.
  • the position calculation unit 20 cannot detect the reference part, detects only the joints appearing on the image, and estimates only the joint positions of the detected joints.
  • the calculation processing unit 22 uses the joint position/reference position map 23 to estimate the joint position and the reference position of each joint.
  • the calculation processing unit 22 also uses the relative displacement map 24 to estimate the relative displacement of each joint.
  • each joint and reference part is composed of a plurality of pixels
  • the calculation processing unit 22 as shown in FIG.
  • the coordinates (x, y) of each pixel constituting it are calculated.
  • one pixel is represented by two rectangles, one of which corresponds to the x-coordinate and the other to the y-coordinate.
  • the calculation processing unit 22 calculates the coordinates of each pixel of each tentative reference position using the coordinates of each pixel of the joint position and the relative displacement.
  • FIG. 4 is a diagram illustrating an outline of processing by a position calculation unit and a posture estimation unit
  • FIG. 5 is a diagram showing specific processing in the posture estimation unit.
  • the position calculator 20 first estimates the joint position ⁇ , the reference position ⁇ , and the relative displacement of each joint, and then calculates the temporary reference position ⁇ of each joint.
  • the posture estimation unit 30 determines whether each joint belongs to the person corresponding to the detected reference position based on the provisional reference position ⁇ and the detected reference position ⁇ for each joint. .
  • the posture estimation unit 30 first obtains a distance matrix between the provisional reference position and the estimated reference position for each detected joint. If there are a plurality of estimated reference positions, posture estimation section 30 obtains a distance matrix for each reference position for each joint. Posture estimating section 30 then associates each joint with one of the reference positions such that the distance between the estimated reference position and the provisional reference position is minimized and less than a certain value. Thus, for each joint, the person to which it belongs is determined.
  • FIG. 6 is a diagram illustrating an outline of processing by a position calculation unit and a posture estimation unit when a reference position cannot be detected
  • FIG. 7 is a diagram showing specific processing in the attitude estimation unit when the reference position cannot be detected.
  • the position calculation unit 20 detects each joint appearing on the image data, estimates the joint position and relative displacement only for the detected joint, and further calculates a provisional reference position.
  • posture estimation section 30 performs clustering on the provisional reference position of each of the detected joints, and based on the clustering result, for each detected joint, , to determine the person to which each joint belongs.
  • the posture estimation unit 30 develops the temporary reference positions of the detected joints in the feature space.
  • the number of dimensions of the feature space in this case is two-dimensional because the provisional reference position is represented by two-dimensional coordinates.
  • posture estimation section 30 clusters the provisional reference positions developed in the feature space by the following processes (a) to (e).
  • the posture estimation unit 30 also prevents provisional reference positions for multiple joints of the same type (for example, right wrist and right wrist) from being included in the same cluster. Then, posture estimation section 30 assumes that the joints at the tentative reference positions included in the same cluster belong to the same person.
  • the processing shown in FIGS. 6 and 7 is executed when reference parts are not detected for all persons in the image data. For example, when a plurality of joints are detected but no reference part is detected, the posture estimation unit 30 determines that the reference part is not detected for all persons in the image data, The processing shown in FIGS. 6 and 7 is executed. Note that the posture estimation unit 30 can also execute the processing shown in FIGS. 6 and 7 when reference parts have been detected for all persons in the image data.
  • the posture estimation unit 30 estimates the posture of each person based on the positions of the joints belonging to the person. Specifically, the posture estimating unit 30 uses a machine learning model for estimating all joint position information from the joint position information of a person when some joints are missing due to non-detection or the like. , the final human pose can be estimated.
  • FIG. 8 is a flow chart showing the operation of the posture estimation device according to Embodiment 1.
  • FIG. 1 to 7 will be referred to as appropriate in the following description.
  • the posture estimation method is implemented by operating posture estimation apparatus 10 . Therefore, the description of the posture estimation method in Embodiment 1 is replaced with the description of the operation of posture estimation apparatus 10 below.
  • the position calculation unit 20 first acquires image data (step A1).
  • the image data in step A1 may be image data directly output from an imaging device such as a surveillance camera, or may be image data stored in a storage device.
  • the position calculation unit 20 detects the joints and reference parts of the person from the image data, and estimates joint positions, relative displacements and reference positions (step A2). However, when the image data obtained in step A1 is input, the joint position/reference position map 23 and the relative displacement map 24 are output. Then, the calculation processing unit 22 uses the joint position/reference position map 23 to estimate the joint position and the reference position, and uses the relative displacement map 24 to estimate the relative displacement of each joint.
  • the position calculation unit 20 calculates a temporary reference position for each joint using the joint position and relative displacement estimated in step A2 (step A3). Specifically, in step A3, as shown in FIG. Calculate the position.
  • the posture estimating section 30 determines whether or not reference parts have been detected for at least one person from the image data in step A2 (step A4). Specifically, when at least one reference position is estimated in step A2, posture estimation section 30 determines that a reference part has been detected for at least one person.
  • the posture estimation unit 30 executes the processes of steps A5 to A7.
  • the posture estimation unit 30 obtains a distance matrix between the tentative reference position and the estimated reference position for each detected joint, and further calculates the distance from the distance matrix. If there are a plurality of reference positions estimated in step A2, posture estimation section 30 obtains a distance matrix for each reference position for each joint, and calculates the distance.
  • posture estimating section 30 associates each joint with one of the reference positions so that the distance between the estimated reference position and the provisional reference position is minimized and less than a certain value, Determine the person to which each joint belongs.
  • the posture estimation unit 30 also determines the person to which each joint belongs, on the condition that multiple joints of the same type (for example, right wrist and right wrist) do not belong to the same person.
  • the posture estimation unit 30 determines whether there is a joint that is not associated with the reference position. In step A7, if there is no joint that is not associated with the reference position, the posture estimation unit 30 estimates the posture of each person based on the positions of the joints belonging to the person ( Step A8). The case where there is a joint that is not associated with the reference position in step A7 will be described later.
  • step A4 determines whether the result of the determination in step A4 is that no reference part has been detected for even one person from the image data. If the result of the determination in step A4 is that no reference part has been detected for even one person from the image data, the posture estimation unit 30 executes the processes of steps A9 and A10.
  • the posture estimating unit 30 develops the temporary reference positions for each joint in the feature space, and clusters the temporary reference positions developed in the feature space. Specifically, posture estimation section 30 performs clustering by the processes (a) to (e) described above.
  • the posture estimation unit 30 determines the person to whom each joint belongs, assuming that the joints at the tentative reference positions included in the same cluster belong to the same person.
  • the posture estimation unit 30 After executing steps A9 and A10, the posture estimation unit 30 also executes step A8 to estimate the posture of each person based on the positions of the joints belonging to the person.
  • step A7 if there is a joint that is not associated with the reference position, posture estimation section 30 executes steps A9 and A10 for the joint that is not associated with the reference position. . As a result, the person is determined even for the joints determined not to be associated with the reference position, and the pose estimation in step 8 is performed.
  • steps A1 to A10 when steps A1 to A10 are executed, the pose of the person in the image data is estimated. Also, if the source of image data is an imaging device such as a surveillance camera, steps A1 to A10 are executed, for example, each time image data is output or each time a set time elapses.
  • the program in Embodiment 1 may be any program that causes a computer to execute steps A1 to A10 shown in FIG. By installing this program in a computer and executing it, posture estimation apparatus 10 and the posture estimation method in Embodiment 1 can be realized.
  • the processor of the computer functions as the position calculator 20 and the orientation estimator 30 to perform processing. Examples of computers include general-purpose PCs, smartphones, and tablet-type terminal devices.
  • Embodiment 1 may be executed by a computer system constructed by a plurality of computers.
  • each computer may function as either the position calculator 20 or the posture estimator 30 .
  • Embodiment 1 As described above, according to Embodiment 1, even if a part of a person whose posture is to be estimated is hidden in the image data, the person to whom the detected joint belongs can be accurately identified. can be determined, and the accuracy of posture estimation can be improved.
  • FIG. 2 (Embodiment 2) Next, a posture estimation device, a posture estimation method, and a program according to Embodiment 2 will be described with reference to FIGS. 9 to 11.
  • FIG. 9 (Embodiment 2)
  • a posture estimation device is configured in the same manner as the posture estimation device according to Embodiment 1 shown in FIG. However, in Embodiment 2, unlike Embodiment 1, the joint positions of the detected joints and the relative displacements of the joints are expressed on three-dimensional coordinates. The following description focuses on differences from the first embodiment.
  • the posture estimation device differs from the posture estimation device according to Embodiment 1 in terms of the function of position calculation section 20 .
  • the position calculation unit 20 uses the detected depth of each joint and the parameters of the camera that captured the image data to calculate three-dimensional coordinates indicating the joint position and three-dimensional coordinates indicating the relative displacement for each joint. Estimate dimensional coordinates.
  • the position calculation unit 20 also calculates three-dimensional coordinates indicating a temporary reference position of the person based on the three-dimensional coordinates indicating the estimated joint positions and the three-dimensional coordinates indicating the relative displacement.
  • FIG. 9 is a diagram showing a specific configuration and processing of a position calculation unit according to Embodiment 2.
  • the position calculation unit 20 also includes a CNN 21 and a calculation processing unit 22 in the second embodiment.
  • the CNN 21 when the image data of the person is input, the CNN 21 creates a joint position/reference position map 23 for each reference part and each joint of the person, A relative displacement map 24 is output.
  • the relative displacement map 24 stores the magnitude and direction of the three-dimensional relative displacement to the reference position in the element corresponding to the joint position in the image on the map.
  • the CNN 21 when the image data is input, the CNN 21 also outputs the depth map 25 for each reference part and each joint of the person.
  • the depth map 25 stores the depth (distance) from the reference part or joint to the camera that captured the image data in the element corresponding to the joint position in the image on the map.
  • the CNN 21 is constructed by performing deep learning using the image to be extracted, the depth to the extraction target, and the label indicating the extraction target as training data.
  • the calculation processing unit 22 uses the camera parameters of the camera, the joint position/reference position map 23, and the depth map 25 to calculate three-dimensional coordinates of the joint position and the reference position of each joint. presume.
  • the calculation processing unit 22 uses the camera parameters of the camera, the joint position/reference position map 23, the relative displacement map 24 of the camera, and the depth map 25 to estimate the three-dimensional coordinates of the relative displacement of each joint. do.
  • the camera parameters are input from the outside in the second embodiment.
  • the camera parameters are composed of camera intrinsic parameters and extrinsic parameters.
  • the internal parameters are parameters used for coordinate conversion between the three-dimensional coordinates of the camera and the two-dimensional coordinates of the image, with the position of the camera as the origin.
  • the internal parameters include the focal length of the camera, the position of the center of the image, and the like.
  • External parameters are parameters used for coordinate conversion between three-dimensional world coordinates, which are real world coordinates, and camera coordinates. External parameters include the height of the mounting position of the camera, the angle of depression of the camera, and the like.
  • each joint and reference part are composed of a plurality of pixels.
  • the calculation processing unit 22 calculates the three-dimensional coordinates (x, y, z) of each pixel that constitutes each of the joint position, the reference position, and the relative displacement.
  • one pixel is represented by three rectangles, which correspond to the x-coordinate, y-coordinate, and z-coordinate, respectively.
  • the calculation processing unit 22 calculates the three-dimensional coordinates of each pixel of each temporary reference position using the three-dimensional coordinates of each pixel of the joint position and relative displacement.
  • Posture estimating section 30 also in Embodiment 2, similarly to Embodiment 1, determines the person to whom each joint belongs based on the temporary reference position calculated for each detected joint. .
  • Embodiment 2 three-dimensional coordinates are obtained as the reference position and the temporary reference position. Therefore, when the reference parts of all persons are detected from the image data, the posture estimation unit 30 obtains a three-dimensional distance matrix to determine the person to which each joint belongs. In addition, when the reference parts of all the person are not detected from the image data, the posture estimation unit 30 develops temporary reference positions in the three-dimensional feature space, performs clustering, and then performs clustering. to decide.
  • the posture estimation apparatus executes steps A1 to A7 shown in FIG.
  • the position calculation unit 20 estimates, for each joint, three-dimensional coordinates indicating the joint position and three-dimensional coordinates indicating the relative displacement in step A2. Further, unlike the first embodiment, the position calculation unit 20 calculates three-dimensional coordinates indicating the temporary reference position of the person in step A3. Also in the second embodiment, the posture estimation method in the second embodiment is implemented by operating the posture estimation apparatus in the second embodiment.
  • the program in Embodiment 2 may also be a program that causes a computer to execute steps A1 to A7 shown in FIG. By installing this program in a computer and executing it, the posture estimation device and posture estimation method according to the second embodiment can be realized.
  • FIG. 10 is a diagram illustrating a specific configuration and processing of a position calculation unit in Modification 1 of Embodiment 2.
  • the position calculation unit 20 also includes a CNN 21 and a calculation processing unit 22 in the first modification.
  • the CNN 21 in addition to the joint position/reference position map 23, the relative displacement map 24, and the depth map 25, the camera parameters of the camera that captured the image data. 26 is also output.
  • the CNN 21 is constructed by performing deep learning using images to be extracted, depths to extraction targets, labels indicating extraction targets, and camera parameters as training data.
  • the calculation processing unit 22 uses the parameters output by the CNN 21 to estimate, for each joint, the three-dimensional coordinates indicating the joint position and the three-dimensional coordinates indicating the relative displacement, and further, These are used to calculate the three-dimensional coordinates indicating the temporary reference position of the person. According to Modification 2, it is possible to estimate and calculate three-dimensional coordinates without inputting camera parameters from the outside.
  • FIG. 11 is a diagram illustrating a specific configuration and processing of a position calculation unit in Modification 2 of Embodiment 2.
  • FIG. 10 also in Modification 2, the position calculation unit 20 includes a CNN 21 and a calculation processing unit 22 .
  • the CNN 21 outputs only two, the joint position/reference position map 23 and the relative displacement map 24, as in the example shown in the first embodiment.
  • depth information and camera parameters are input to the position calculation unit 20 .
  • the depth information is information specifying the depth of the object measured by the distance measuring device 40 .
  • the depth information specifies the depth of the subject of the image data input to the posture estimation device.
  • the distance measurement device 40 include devices capable of acquiring depth information, such as stereo cameras, TOF (Time Of Flight) cameras, and LiDAR (Laser Imaging Detection and Ranging).
  • the calculation processing unit 22 uses the camera parameters of the camera, the joint position/reference position map 23, and the depth information to calculate the three-dimensional coordinates of the joint position and the reference position of each joint. presume.
  • the calculation processing unit 22 also uses the camera parameters of the camera, the relative displacement map 24 of the camera, and the depth information to estimate the three-dimensional coordinates of the relative displacement of each joint. According to Modification 2, it is possible to estimate and calculate the three-dimensional coordinates without outputting the depth of the object from the CNN 21 .
  • the temporary reference position is calculated as three-dimensional coordinates. can be determined more accurately, and the posture estimation accuracy can be further improved.
  • FIG. 12 is a block diagram of an example of a computer that implements the posture estimation apparatus according to the first and second embodiments;
  • a computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader/writer 116, and a communication interface 117. and These units are connected to each other via a bus 121 so as to be able to communicate with each other.
  • CPU Central Processing Unit
  • the computer 110 may include a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array) in addition to the CPU 111 or instead of the CPU 111 .
  • a GPU or FPGA can execute the programs in the embodiments.
  • the CPU 111 expands the program in the embodiment, which is composed of a code group stored in the storage device 113, into the main memory 112 and executes various operations by executing each code in a predetermined order.
  • the main memory 112 is typically a volatile storage device such as DRAM (Dynamic Random Access Memory).
  • the programs in Embodiments 1 and 2 are provided in a state stored in a computer-readable recording medium 120.
  • the programs in Embodiments 1 and 2 may be distributed over the Internet connected via communication interface 117 .
  • the storage device 113 includes hard disk drives and semiconductor storage devices such as flash memory.
  • Input interface 114 mediates data transmission between CPU 111 and input devices 118 such as a keyboard and mouse.
  • the display controller 115 is connected to the display device 119 and controls display on the display device 119 .
  • the data reader/writer 116 mediates data transmission between the CPU 111 and the recording medium 120, reads programs from the recording medium 120, and writes processing results in the computer 110 to the recording medium 120.
  • Communication interface 117 mediates data transmission between CPU 111 and other computers.
  • the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as flexible disks, or CD-ROMs ( Compact Disk Read Only Memory) and other optical recording media.
  • CF Compact Flash
  • SD Secure Digital
  • magnetic recording media such as flexible disks
  • CD-ROMs Compact Disk Read Only Memory
  • the posture estimation apparatus in Embodiments 1 and 2 can also be realized by using hardware corresponding to each part, such as an electronic circuit, instead of a computer in which a program is installed. Furthermore, the posture estimation device may be partly implemented by a program and the rest by hardware.
  • a position calculation unit that calculates a temporary reference position of the person based on the position of each joint of the person detected from the image data and the displacement from the joint to the reference part of the person.
  • a posture estimation unit that determines, for each of the detected joints, a person to whom the joint belongs based on the calculated temporary reference position;
  • a posture estimation device comprising:
  • the posture estimation device (Appendix 2) The posture estimation device according to Supplementary Note 1, The position calculation unit estimates, for each joint point of the person, the position of the joint and the displacement of the joint, and calculates the position of the person based on the estimated position of the joint and the displacement of the joint. calculating a temporary reference position;
  • a posture estimation device characterized by:
  • a posture estimation device characterized by:
  • Appendix 4 The posture estimation device according to any one of Appendices 1 to 3, When a reference part of the person is detected from the image data, The posture estimation unit obtains a distance matrix between the tentative reference position and the position of the detected reference part for each of the detected joints, and uses the obtained distance matrix to determine the determine to whom the joint belongs,
  • a posture estimation device characterized by:
  • a posture estimation device characterized by:
  • a posture estimation device characterized by:
  • Appendix 7 The posture estimation device according to any one of Appendices 1 to 6, Positions of the joints and displacements about the joints are represented on three-dimensional coordinates, A posture estimation device characterized by:
  • the posture estimation device uses the depth of each of the detected joints and the parameters of the camera that captured the image data to determine, for each of the joints, the three-dimensional coordinates indicating the position of the joint and the position of the joint. 3 that indicates a temporary reference position of the person based on the estimated three-dimensional coordinates that indicate the position of the joint and the three-dimensional coordinates that indicate the displacement of the joint; calculate the dimensional coordinates,
  • a posture estimation device characterized by:
  • a posture estimation step of determining, for each of the detected joints, a person to whom the joint belongs based on the calculated temporary reference position A posture estimation method characterized by comprising:
  • a posture estimation step of determining, for each of the detected joints, a person to whom the joint belongs based on the calculated temporary reference position A computer-readable recording medium recording a program containing instructions for executing a
  • Appendix 18 The computer-readable recording medium according to Appendix 17, In the position calculation step, for each joint point of the person, the positions of the joints and the displacements of the joints are estimated, and based on the estimated positions of the joints and the displacements of the joints, calculating a temporary reference position;
  • a computer-readable recording medium characterized by:
  • Appendix 19 The computer-readable recording medium according to Appendix 17 or 18, In the pose estimation step, for each person, the pose of the person is estimated based on the positions of the joints belonging to the person.
  • a computer-readable recording medium characterized by:
  • Appendix 20 The computer-readable recording medium according to any one of Appendices 17 to 19, When a reference part of the person is detected from the image data, In the posture estimation step, for each of the detected joints, a distance matrix between the tentative reference position and the position of the detected reference part is obtained, and using the obtained distance matrix, the determine to whom the joint belongs, A computer-readable recording medium characterized by:
  • Appendix 21 The computer-readable recording medium according to Appendix 20, If there is a person in the image data for whom the reference part has not been detected, In the posture estimation step, clustering is performed on the temporary reference positions of the detected joints, and based on the clustering result, for each detected joint, the person to whom the joint belongs is determined.
  • a computer-readable recording medium characterized by:
  • Appendix 22 The computer-readable recording medium according to any one of Appendices 17 to 19, In the posture estimation step, clustering is performed on the temporary reference positions of the detected joints, and based on the clustering result, for each detected joint, the person to whom the joint belongs is determined.
  • a computer-readable recording medium characterized by:
  • Appendix 23 The computer-readable recording medium according to any one of Appendices 17 to 22, Positions of the joints and displacements about the joints are represented on three-dimensional coordinates, A computer-readable recording medium characterized by:
  • Appendix 24 19.
  • a computer-readable recording medium characterized by:
  • the present invention it is possible to improve the accuracy of posture estimation when a part of the person to be estimated is hidden.
  • INDUSTRIAL APPLICABILITY The present invention is useful for systems that require estimation of a person's pose on image data, such as surveillance systems.
  • attitude estimation device 20 position calculator 21 CNN 22 Calculation processing unit 23 Joint position/reference position map 24 Relative displacement map 25 Depth map 26 Camera parameter 30 Posture estimation unit 40
  • Distance measuring device 110 Computer 111 CPU 112 main memory 113 storage device 114 input interface 115 display controller 116 data reader/writer 117 communication interface 118 input device 119 display device 120 recording medium 121 bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Pathology (AREA)
  • Biophysics (AREA)
  • Veterinary Medicine (AREA)
  • Multimedia (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Dentistry (AREA)
  • Physiology (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Image Analysis (AREA)

Abstract

姿勢推定装置10は、画像データから検出されている人物の関節それぞれについて、関節の位置、及び関節から人物の基準となる部位までの変位に基づいて、人物の仮の基準位置を算出する、位置算出部20と、検出されている関節毎に、算出された仮の基準位置に基づいて、各関節が属する人物を決定する、姿勢推定部30と、を備えている。

Description

姿勢推定装置、姿勢推定方法、及びコンピュータ読み取り可能な記録媒体
 本発明は、画像中の人物の姿勢を推定するための、姿勢推定装置及び姿勢推定方法、更には、これらを実現するためのコンピュータ読み取り可能な記録媒体に関する。
 近年、画像から人物の姿勢を推定する研究が注目されている。このような研究は、映像監視の分野、スポーツの分野などでの利用が期待されている。例えば、大勢の人物がいる駅等において、監視カメラの映像から各人物の姿勢を推定することで、危険な行為をする人物を特定できると考えられる。また、店舗に設置された監視カメラの映像から、店舗内での店員の動きを分析することで、効率的な商品配置を行うことができると考えられる。
 非特許文献1及び2は、人物の姿勢を推定するシステムの一例を開示している。具体的には、非特許文献1に開示されたシステムは、まず、カメラから出力されてきた画像データを取得し、取得した画像データから、画像中の人物の関節及び関節間のベクトル場を推定する。次いで、非特許文献1に開示されたシステムは、隣接する2つの関節の組毎に、関節間の方向を求める。
 次に、非特許文献1に開示されたシステムは、隣接する2つの関節の組毎に、求めた方向とその関節間について推定されたベクトル場との内積を求め、更に、内積に基づいて、関節間の結びつきの確からしさを算出する。その後、非特許文献1に開示されたシステムは、確からしさに基づいて、結びつくべき関節間を特定して、人物の姿勢を推定する。
 非特許文献2に開示されたシステムは、まず、カメラから出力されてきた画像データを取得し、取得した画像データを、検出器に入力して、画像中の人物の基準位置と各関節の基準位置からの相対位置とを出力させる。次に、非特許文献2に開示されたシステムは、出力されてきた人物の基準位置と各関節の相対位置とに基づいて、画像中の人物の姿勢を推定する。この場合の検出器は、画像と、画像中の人物の基準位置及び各関節の相対位置とを、訓練データとする、機械学習によって構築される。
Z. Cao, G. Hidalgo, T. Simon, S. -E. Wei and Y. Sheikh, "OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 43, no. 1, pp. 172-186, 1 Jan. 2021 X. Zhou, D. Wang and P. Krahenbuhl, " Objects as Points," arXiv:1904.07850, 2019.
 ところで、上述の非特許文献1及び2に開示されたシステムには、姿勢推定の対象となる人物の一部が、画像中で他の人物又は物体によって隠されると、姿勢を正確に推定できなくなるという問題がある。
 例えば、画像上で、推定対象となる人物の右膝は検出されているが、その右足首が、別の人物の右膝によって隠され、未検出であるとする。この場合、非特許文献1に開示されたシステムでは、推定対象となる人物の右膝は、別の人物の右足首に結びつけられる可能性が高く、姿勢を正確に推定できなくなる。
 また、推定対象となる人物の右足首は検出されているが、右膝が検出されていないとする。この場合、非特許文献1に開示されたシステムは、推定対象となる人物の右足首を右膝に結びつけることはできない状態となる。よって、この場合も、非特許文献1に開示されたシステムでは、姿勢を正確に推定できなくなる。
 更に、画像上で、推定対象となる人物の基準位置となる部位が、別の人物によって隠され、未検出であるとする。この場合、非特許文献2に開示されたシステムでは、検出器は、推定対象となる人物の基準位置を正確に出力できないため、姿勢を正確に推定することは困難となる。
 本発明の目的の一例は、推定対象となる人物の一部が隠れてしまっている場合における姿勢推定の精度の向上を図り得る、姿勢推定装置、姿勢推定方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
 上記目的を達成するため、本発明の一側面における姿勢推定装置は、
 画像データから検出されている人物の関節それぞれについて、当該関節の位置、及び当該関節から前記人物の基準となる部位までの変位に基づいて、前記人物の仮の基準位置を算出する、位置算出部と、
 検出されている前記関節毎に、算出された前記仮の基準位置に基づいて、当該関節が属する人物を決定する、姿勢推定部と、
を備えていることを特徴とする。
 また、上記目的を達成するため、本発明の一側面における姿勢推定方法は、
 画像データから検出されている人物の関節それぞれについて、当該関節の位置、及び当該関節から前記人物の基準となる部位までの変位に基づいて、前記人物の仮の基準位置を算出する、位置算出ステップと、
 検出されている前記関節毎に、算出された前記仮の基準位置に基づいて、当該関節が属する人物を決定する、姿勢推定ステップと、
を備えていることを特徴とする。
 更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、コンピュータに、
 画像データから検出されている人物の関節それぞれについて、当該関節の位置、及び当該関節から前記人物の基準となる部位までの変位に基づいて、前記人物の仮の基準位置を算出する、位置算出ステップと、
 検出されている前記関節毎に、算出された前記仮の基準位置に基づいて、当該関節が属する人物を決定する、姿勢推定ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とする。
 以上のように、本発明によれば、推定対象となる人物の一部が隠れてしまっている場合における姿勢推定の精度の向上を図ることができる。
図1は、実施の形態1における姿勢推定装置の概略構成を示す構成図である。 図2は、位置算出部によって算出される位置を示す図であり、図2(a)は関節の位置の一例を示し、図2(b)は相対位置の一例を示し、図2(c)は仮の基準位置の一例を示している。 図3は、位置算出部の具体的な構成及び処理を示す図である。 図4は、位置算出部と姿勢推定部との処理の概略を示す図である。 図5は、姿勢推定部での具体的な処理を示す図である。 図6は、基準位置が検出できない場合の位置算出部と姿勢推定部との処理の概略を示す図である。 図7は、基準位置が検出できない場合の姿勢推定部での具体的な処理を示す図である。 図8は、実施の形態1における姿勢推定装置の動作を示すフロー図である。 図9は、実施の形態2においての位置算出部の具体的な構成及び処理を示す図である。 図10は、実施の形態2の変形例1においての位置算出部の具体的な構成及び処理を示す図である。 図11は、実施の形態2の変形例2においての位置算出部の具体的な構成及び処理を示す図である。 図12は、実施の形態1及び2における姿勢推定装置を実現するコンピュータの一例を示すブロック図である。
(実施の形態1)
 以下、実施の形態1における姿勢推定装置、姿勢推定方法、及びプログラムについて、図1~図8を参照しながら説明する。
[装置構成]
 最初に、実施の形態1における姿勢推定装置の概略構成について図1を用いて説明する。図1は、実施の形態1における姿勢推定装置の概略構成を示す構成図である。
 図1に示す、実施の形態1における姿勢推定装置10は、画像中の人物の姿勢を推定する装置である。図1に示すように、姿勢推定装置10は、位置算出部20と、姿勢推定部30とを備えている。
 位置算出部20は、画像データから検出されている人物の関節それぞれについて、関節の位置と、関節から人物の基準となる部位(以下「基準部位」と表記する。)までの変位(以下「相対変位」と表記する。)と、に基づいて、人物の仮の基準位置を算出する。姿勢推定部30は、検出されている関節毎に、算出された仮の基準位置に基づいて、関節が属する人物を決定する。
 以上のように、実施の形態1では、画像データ上で検出された各関節の位置と、各関節から人物の基準部位(例えば、腹部、首等)までの相対変位とを用いることで、関節毎の仮の基準位置が算出され、仮の基準位置によって、各関節がどの人物に属するかが決定される。つまり、画像データ上で人物の基準部位が表れていなくても、関節から基準部位までの相対変位さえ分かれば、関節と人物とを結びつけることができる。このため、実施の形態1によれば、推定対象となる人物の一部が隠れてしまっている場合においても、姿勢推定の精度を向上させることができる。
 続いて、図2及び図3を用いて、姿勢推定装置10における位置算出部20の構成及び機能について具体的に説明する。図2は、位置算出部によって算出される位置を示す図であり、図2(a)は関節の位置の一例を示し、図2(b)は相対位置の一例を示し、図2(c)は仮の基準位置の一例を示している。図3は、位置算出部の具体的な構成及び処理を示す図である。
 実施の形態1では、位置算出部20は、図2(a)に示すように、画像データから、人物の関節及び人物の基準部位を検出する。また、位置算出部20は、検出した関節の位置(以下「関節位置」と表記する)と、検出した基準部位の位置とを推定する。この推定された基準部位の位置は、仮ではなく、真の「基準位置」となる。
 対象となる関節は、右手首、右肘、右足首、右膝、左手首、左肘、左足首、左膝、等であり、予め設定されている。基準部位も予め設定されている。基準部位としては、例えば、みぞおち、首の付け根、等が挙げられる。図2(a)及び(b)においては、関節位置は●で示し、基準位置は■で示す。
 更に、実施の形態1では、位置算出部20は、関節位置及び基準位置以外にも、予め設定された部位の位置、例えば頭の位置を推定することもできる。図2(a)及び(b)においては、頭の位置も●で示されている。実施の形態1では、関節位置には、頭の位置も含まれるものとする。位置算出部20は、図2(b)に示すように、画像データから、画像中の関節それぞれ毎に、関節から基準部位までの変位(x、y)も推定する。
 その後、位置算出部20は、関節毎に、仮の基準位置を算出する。仮の基準位置は、各関節の関節位置から推定される人物の基準部位の仮の位置である。仮の基準位置は、関節毎に異なることがある。具体的には、位置算出部20は、図2(c)に示すように、画像中の関節それぞれ毎に、関節位置の座標と、関節についての相対変位とを足し合わせて、仮の基準位置を算出する。
 図2(c)においては、仮の基準位置は▲で示される。なお、図2(a)~(c)において、基準部位の位置(基準位置)と関節毎の仮の基準位置とが一致していないのは、関節位置、基準位置、及び変位それぞれは、画像処理によって推定されるからである。実施の形態1で用いられる画像処理については後述する。
 ここで、位置算出部20の具体的構成について説明する。図3に示すように、実施の形態1では、位置算出部20は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)21と、計算処理部22とを備えている。
 CNN21は、人物の画像データが入力されると、人物の基準部位と各関節とのそれぞれ毎に、存在確率を示すマップ(以下「関節位置・基準位置マップ」と表記する。)23を出力する。また、CNN21は、人物の画像データが入力されると、更に、人物の関節それぞれ毎に、その相対変位を示すマップ(以下「相対変位マップ」)24も出力する。
 実施の形態1では、関節位置・基準位置マップ23は、例えば、対象の存在確率を濃度で表す2次元のヒートマップである。相対変位マップ24は、当該マップ上の関節位置に対応する要素において、相対変位の大きさ及び向きを格納しているマップである。CNN21は、抽出対象の画像と抽出対象を示すラベルとを訓練データとして、ディープラーニングを行うことによって構築されている。
 画像データ中に人物が複数存在する場合は、CNN21は、画像中の全ての関節毎に関節位置・基準位置マップ23を出力する。また、関節位置・基準位置マップ23それぞれには、関節の部位(右肘、左肘等)を示す情報、又は基準となる部位を示す情報が付与されている。相対変位マップ24にも、対応する関節の部位を示す情報が付与されている。
 なお、画像データにおいては、人物の体の一部が物体で遮蔽されていたり、人物の一部分のみが表示されていたりして、全員又は一部の人物の基準部位が画像データ上で現れていない場合がある。この場合、位置算出部20は、基準部位を検出できず、画像上で現れている関節のみを検出し、検出した関節の関節位置のみを推定することになる。
 計算処理部22は、関節位置・基準位置マップ23を用いて、関節それぞれの関節位置と、基準位置とを推定する。また、計算処理部22は、相対変位マップ24を用いて、関節それぞれの相対変位を推定する。
 具体的には、各関節及び基準となる部位は、複数個の画素で構成されているため、計算処理部22は、図3に示すように、関節位置、基準位置、及び相対変位それぞれについて、それを構成する各画素の座標(x、y)を算出する。図3において、1画素は2つの矩形で表現されており、一方の矩形がx座標、他方の矩形がy座標に該当する。また、計算処理部22は、図3に示すように、関節位置及び相対変位それぞれの画素毎の座標を用いて、仮の基準位置それぞれの画素毎の座標を計算する。
 続いて、図4及び図5を用いて、画像データから人物の基準部位が検出されている場合における姿勢推定部30の機能について具体的に説明する。図4は、位置算出部と姿勢推定部との処理の概略を示す図である。図5は、姿勢推定部での具体的な処理を示す図である。
 図4に示すように、まず、位置算出部20が、関節毎の関節位置●、基準位置■、及び関節毎の相対変位を推定し、そして、関節毎の仮の基準位置▲を算出しているとする。この場合、姿勢推定部30は、関節毎に、仮の基準位置▲と検出された基準位置■とに基づいて、各関節が、検出された基準位置に対応する人物に属するかどうかを決定する。
 具体的には、図5に示すように、姿勢推定部30は、まず、検出されている関節毎に、仮の基準位置と推定された基準位置との間の距離行列を求める。推定されている基準位置が複数存在する場合は、姿勢推定部30は、各関節について、基準位置それぞれ毎に距離行列を求める。そして、姿勢推定部30は、推定された基準位置と仮の基準位置との距離が、最小となり、且つ、一定値未満となるように、各関節をいずれかの基準位置に対応づける。これにより、関節毎に、それが属する人物が決定される。
 更に、図6及び図7を用いて、画像データから人物の基準部位が検出されていない場合における姿勢推定部30の機能について具体的に説明する。図6は、基準位置が検出できない場合の位置算出部と姿勢推定部との処理の概略を示す図である。図7は、基準位置が検出できない場合の姿勢推定部での具体的な処理を示す図である。
 図6に示すように、画像データにおいて、1人の人物の体が物体で遮蔽され、別の人物は上半身のみが表示され、両者の基準部位は画像データ上で現れておらず、検出されていないとする。この場合、位置算出部20は、画像データ上に表れている各関節を検出し、検出した関節についてのみ、関節位置及び相対変位を推定し、更に、仮の基準位置を算出する。
 そして、基準位置は推定されていないので、姿勢推定部30は、検出されている関節それぞれの仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出されている関節毎に、各関節が属する人物を決定する。
 具体的には、図7に示すように、姿勢推定部30は、検出された関節それぞれの仮の基準位置を特徴空間に展開する。この場合の特徴空間の次元数は、仮の基準位置が2次元座標で表されるので、2次元となる。そして、姿勢推定部30は、特徴空間に展開された仮の基準位置に対して、以下の(a)~(e)の処理によってクラスタリングを実行する。
(a)ランダムにクラスタ中心を決定する。
(b)決定したクラスタ中心を用いてk-meansによるクラスタリングを実施する。
(c)得られたクラスタ内のサンプルがガウス分布に従うかどうかを、統計的仮説検定に基づいて検証する。この検証は、クラスタ内のサンプルがガウス分布に従うという仮説に基づいて行われる。
(d)上記(c)の検証によって上記仮説が棄却された場合は、該当するクラスタを2つに分割する。一方、上記(c)の検証によって上記仮説が棄却されなかった場合は、該当するクラスタを確定する。
(e)上記(d)によるクラスタの分割がなくなるまで上記(b)から(d)を反復する。
 また、姿勢推定部30は、クラスタリングにおいて、同一種類の複数の関節(例えば、右手首と右手首等)についての仮の基準位置が、同じクラスタに含まれないようにする。そして、姿勢推定部30は、同一のクラスタに含まれる仮の基準位置の関節は、同一人物に属することとする。
 また、図6及び図7に示した処理は、画像データ中の人物全てにおいて基準部位が検出されていない場合に実行される。姿勢推定部30は、例えば、関節が複数検出されているにもかかわらず、基準部位が1つも検出されていない場合は、画像データ中の人物全てにおいて基準部位が検出されていないと判定し、図6及び図7に示した処理を実行する。なお、姿勢推定部30は、画像データ中の人物全てにおいて基準部位が検出されている場合において、図6及び図7に示した処理を実行することもできる。
 姿勢推定部30は、全ての関節について所属先の人物が決定されると、人物それぞれ毎に、その人物に属する関節の位置に基づいて、人物の姿勢を推定する。具体的には、姿勢推定部30は、例えば、未検出等によって一部の関節が欠損している場合の人物の関節位置の情報から全関節位置の情報を推定する機械学習モデルを用いることによって、最終的な人物の姿勢を推定することができる。
[装置動作]
 次に、実施の形態1における姿勢推定装置10の動作について図8を用いて説明する。図8は、実施の形態1における姿勢推定装置の動作を示すフロー図である。以下の説明においては、適宜図1~図7を参照する。また、実施の形態1では、姿勢推定装置10を動作させることによって、姿勢推定方法が実施される。よって、実施の形態1における姿勢推定方法の説明は、以下の姿勢推定装置10の動作説明に代える。
 図8に示すように、最初に、位置算出部20は、画像データを取得する(ステップA1)。ステップA1における画像データは、監視カメラ等の撮像装置から直接出力されてきた画像データであっても良いし、記憶装置に格納されている画像データであっても良い。
 次に、位置算出部20は、画像データから、人物の関節及び基準部位を検出し、関節位置、相対変位及び基準位置を推定する(ステップA2)具体的には、ステップA2では、まず、CNN21が、ステップA1で取得された画像データが入力されると、関節位置・基準位置マップ23及び相対変位マップ24を出力する。そして、計算処理部22が、関節位置・基準位置マップ23を用いて、関節位置及び基準位置を推定し、相対変位マップ24を用いて、関節それぞれの相対変位を推定する。
 次に、位置算出部20は、関節毎に、ステップA2で推定された関節位置と相対変位とを用いて、仮の基準位置を算出する(ステップA3)。具体的には、ステップA3では、位置算出部20は、図2(c)に示したように、関節毎に、関節位置の座標と、関節についての相対変位とを足し合わせて、仮の基準位置を算出する。
 次に、姿勢推定部30は、ステップA2において画像データから少なくとも1人の人物について基準部位が検出されているかどうかを判定する(ステップA4)。具体的には、姿勢推定部30は、ステップA2において少なくとも1つの基準位置が推定されている場合は、少なくとも1人の人物について基準部位が検出されていると判定する。
 ステップA4の判定の結果、画像データから少なくとも1人の人物について基準部位が検出されている場合は、姿勢推定部30は、ステップA5~A7の処理を実行する。
 ステップA5では、姿勢推定部30は、検出されている関節毎に、仮の基準位置と推定された基準位置との間の距離行列を求め、更に、距離行列から距離を算出する。ステップA2で推定された基準位置が複数存在する場合は、姿勢推定部30は、各関節について、基準位置それぞれ毎に距離行列を求め、距離を算出する。
 ステップA6では、姿勢推定部30は、推定された基準位置と仮の基準位置との距離が、最小となり、且つ、一定値未満となるように、各関節をいずれかの基準位置に対応づけ、各関節が属する人物を決定する。また、姿勢推定部30は、同一種類の複数の関節(例えば、右手首と右手首等)が同じ人物に属しないことも条件として、各関節が属する人物を決定する。
 ステップA7では、姿勢推定部30は、基準位置に対応付けられていない関節が存在しているかどうかを判定する。ステップA7において、基準位置に対応付けられていない関節が存在していない場合は、姿勢推定部30は、人物それぞれ毎に、その人物に属する関節の位置に基づいて、人物の姿勢を推定する(ステップA8)。ステップA7において、基準位置に対応付けられていない関節が存在している場合については、後述する。
 一方、ステップA4の判定の結果、画像データから1人の人物についても基準部位が検出されていない場合は、姿勢推定部30は、ステップA9及びA10の処理を実行する。
 ステップA9では、姿勢推定部30は、関節毎の仮の基準位置を特徴空間に展開し、特徴空間に展開された仮の基準位置に対してクラスタリングを実行する。具体的には、姿勢推定部30は、上述した(a)~(e)の処理によってクラスタリングを実行する。
 ステップA10では、姿勢推定部30は、同一のクラスタに含まれる仮の基準位置の関節は、同一人物に属することとして、各関節が属する人物を決定する。
 ステップA9及びA10の実行後も、姿勢推定部30は、ステップA8を実行し、人物それぞれ毎に、その人物に属する関節の位置に基づいて、人物の姿勢を推定する。
 また、ステップA7において、基準位置に対応付けられていない関節が存在している場合は、姿勢推定部30は、基準位置に対応付けられていない関節を対象にして、ステップA9及びA10を実行する。これにより、基準位置に対応付けられていないと判定された関節についても、人物が決定され、更に、ステップ8による姿勢推定が実行される。
 このように、ステップA1~A10が実行されると、画像データ中の人物の姿勢が推定される。また、画像データの取得先が、監視カメラ等の撮像装置である場合は、ステップA1~A10は、例えば、画像データが出力される度に、又は設定時間が経過する度に、実行される。
[プログラム]
 実施の形態1におけるプログラムは、コンピュータに、図8に示すステップA1~A10を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態1における姿勢推定装置10と姿勢推定方法とを実現することができる。この場合、コンピュータのプロセッサは、位置算出部20及び姿勢推定部30として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
 また、実施の形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、位置算出部20及び姿勢推定部30のいずれかとして機能しても良い。
[実施の形態1における効果]
 以上のように、実施の形態1によれば、画像データ上で、姿勢推定の対象となる人物の一部が隠れてしまっている場合であっても、検出された関節が属する人物を正確に決定でき、姿勢推定の精度の向上が図られる。
 (実施の形態2)
 次に、実施の形態2における姿勢推定装置、姿勢推定方法、及びプログラムについて、図9~図11を参照しながら説明する。
 実施の形態2における姿勢推定装置は、図1に示した実施の形態1における姿勢推定装置と同様に構成されており、位置算出部20と、姿勢推定部30とを備えている。但し、実施の形態2では、実施の形態1と異なり、検出された関節の関節位置、及び関節毎の相対変位は、3次元座標上で表現される。以下、実施の形態1との相違点を中心に説明する。
 実施の形態2における姿勢推定装置は、位置算出部20の機能の点で、実施の形態1における姿勢推定装置と異なっている。実施の形態2では、位置算出部20は、検出した関節それぞれの深度、及び画像データを撮影したカメラのパラメータを用いて、関節それぞれについて、関節位置を示す3次元座標、及び相対変位を示す3次元座標、を推定する。また、位置算出部20は、推定した関節位置を示す3次元座標、及び相対変位を示す3次元座標に基づいて、人物の仮の基準位置を示す3次元座標を算出する。
 この点について図9を用いて説明する。図9は、実施の形態2においての位置算出部の具体的な構成及び処理を示す図である。図9に示すように、実施の形態2においても、位置算出部20は、CNN21と、計算処理部22とを備えている。
 実施の形態2においても、実施の形態1と同様に、CNN21は、人物の画像データが入力されると、人物の基準部位と各関節とのそれぞれ毎に、関節位置・基準位置マップ23と、相対変位マップ24とを出力する。
 但し、実施の形態2では、相対変位マップ24は、当該マップ上の画像中の関節位置に対応する要素において、基準位置への3次元での相対変位の大きさ及び向きを格納している。また、CNN21は、実施の形態2では、画像データが入力されると、人物の基準部位と各関節とのそれぞれ毎に、深度マップ25も出力する。深度マップ25は、当該マップ上の画像中の関節位置に対応する要素において、基準部位又は関節から、画像データを撮影したカメラまでの深度(距離)を格納している。実施の形態3では、CNN21は、抽出対象の画像、抽出対象までの深度、及び抽出対象を示すラベルを訓練データとして、ディープラーニングを行うことによって構築されている。
 計算処理部22は、実施の形態2では、カメラのカメラパラメータと、関節位置・基準位置マップ23と、深度マップ25とを用いて、関節それぞれの関節位置と、基準位置との3次元座標を推定する。また、計算処理部22は、カメラのカメラパラメータと、関節位置・基準位置マップ23と、カメラの相対変位マップ24と、深度マップ25とを用いて、関節それぞれの相対変位の3次元座標を推定する。
 カメラパラメータは、実施の形態2では、外部などから入力される。カメラパラメータは、カメラの内部パラメータと外部パラメータとで構成される。内部パラメータは、カメラの位置を原点とするカメラの3次元座標と画像の2次元座標との間の座標変換に利用されるパラメータである。内部パラメータとしては、カメラの焦点距離、画像中心の位置などが挙げられる。外部パラメータは、実世界の座標である3次元の世界座標とカメラ座標との間の座標変換に利用されるパラメータである。外部パラメータとしては、カメラの取り付け位置の高さ、カメラの俯角などが挙げられる。
 実施の形態2においても、各関節及び基準となる部位は、複数個の画素で構成されている。計算処理部22は、図9に示すように、関節位置、基準位置、及び相対変位それぞれについて、それを構成する各画素の3次元座標(x、y、z)を算出する。図9においては、1画素は3つの矩形で表現されており、それぞれ、x座標、y座標、z座標に該当する。また、計算処理部22は、図9に示すように、関節位置及び相対変位それぞれの画素毎の3次元座標を用いて、仮の基準位置それぞれの画素毎の3次元座標を計算する。
 姿勢推定部30は、実施の形態2においても、実施の形態1と同様に、検出されている関節毎に、それぞれについて算出された仮の基準位置に基づいて、各関節が属する人物を決定する。
 但し、実施の形態2においては、基準位置及び仮の基準位置として3次元座標が求められている。このため、画像データから人物全ての基準部位が検出されている場合は、姿勢推定部30は、3次元の距離行列を求めて、各関節が属する人物を決定する。また、画像データから人物全ての基準部位が検出されていない場合は、姿勢推定部30は、3次元の特徴空間に仮の基準位置を展開してクラスタリングを実行し、その後、各関節が属する人物を決定する。
 また、実施の形態2においても姿勢推定装置は、図8に示したステップA1~A7を実行する。但し、実施の形態2では、位置算出部20は、実施の形態1と異なり、ステップA2において、関節毎に、関節位置を示す3次元座標、及び相対変位を示す3次元座標、を推定する。また、位置算出部20は、実施の形態1と異なり、ステップA3において、人物の仮の基準位置を示す3次元座標を算出する。なお、実施の形態2においても、実施の形態2における姿勢推定装置を動作させることによって、実施の形態2における姿勢推定方法が実施される。
 更に、実施の形態2におけるプログラムも、コンピュータに、図8に示すステップA1~A7を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態2における姿勢推定装置と姿勢推定方法とを実現することができる。
[変形例1]
 ここで、実施の形態2における変形例1について図10を用いて説明する。図10は、実施の形態2の変形例1においての位置算出部の具体的な構成及び処理を示す図である。図10に示すように、変形例1においても、位置算出部20は、CNN21と、計算処理部22とを備えている。
 但し、変形例1では、CNN21は、人物の画像データが入力されると、関節位置・基準位置マップ23、相対変位マップ24、及び深度マップ25に加えて、画像データを撮影したカメラのカメラパラメータ26も出力する。変形例1では、CNN21は、抽出対象の画像、抽出対象までの深度、抽出対象を示すラベル、及びカメラパラメータを訓練データとして、ディープラーニングを行うことによって構築されている。
 このため、変形例1では、計算処理部22は、CNN21が出力したパラメータを用いて、関節毎に、関節位置を示す3次元座標、及び相対変位を示す3次元座標、を推定し、更に、これらを用いて、人物の仮の基準位置を示す3次元座標を算出する。変形例2によれば、外部からカメラパラメータを入力することなく、3次元座標の推定及び算出が可能となる。
[変形例2]
 続いて、実施の形態2における変形例2について図11を用いて説明する。図11は、実施の形態2の変形例2においての位置算出部の具体的な構成及び処理を示す図である。図10に示すように、変形例2においても、位置算出部20は、位置算出部20は、CNN21と、計算処理部22とを備えている。
 変形例2においては、CNN21は、実施の形態1に示した例と同様に、関節位置・基準位置マップ23と相対変位マップ24との2つのみを出力する。但し、変形例2では、位置算出部20には、深度情報と、カメラパラメータとが入力されている。
 深度情報は、距離計測装置40で計測された対象の深度を特定する情報である。変形例2においては、深度情報によって、姿勢推定装置に入力される画像データの被写体の深度が特定されている。距離計測装置40の具体例としては、ステレオカメラ、TOF(Time Of Flight)カメラ、LiDAR(Laser Imaging Detection and Ranging)といった、深度情報の取得が可能な装置が挙げられる。
 そして、変形例2では、計算処理部22は、カメラのカメラパラメータと、関節位置・基準位置マップ23と、深度情報とを用いて、関節それぞれの関節位置と、基準位置との3次元座標を推定する。また、計算処理部22は、カメラのカメラパラメータと、カメラの相対変位マップ24と、深度情報とを用いて、関節それぞれの相対変位の3次元座標を推定する。変形例2によれば、CNN21から物体の深度を出力させなくても、3次元座標の推定及び算出が可能となる。
[実施の形態2における効果]
 以上のように、実施の形態2によれば、仮の基準位置は3次元座標として算出されるため、姿勢推定の対象となる人物の一部が隠れてしまっている場合であっても、関節の所属先の決定をより正確に行うことができ、姿勢推定精度の更なる向上が図られる。
(物理構成)
 実施の形態1及び2におけるプログラムを実行することによって、姿勢推定装置を実現するコンピュータについて図12を用いて説明する。図12は、実施の形態1及び2における姿勢推定装置を実現するコンピュータの一例を示すブロック図である。
 図12に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
 コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。この態様では、GPU又はFPGAが、実施の形態におけるプログラムを実行することができる。
 CPU111は、記憶装置113に格納された、コード群で構成された実施の形態におけるプログラムをメインメモリ112に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
 実施の形態1及び2におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。実施の形態1及び2におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
 記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
 データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
 記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
 なお、実施の形態1及び2における姿勢推定装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェア、例えば、電子回路を用いることによっても実現可能である。更に、姿勢推定装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
 上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記24)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
 画像データから検出されている人物の関節それぞれについて、当該関節の位置、及び当該関節から前記人物の基準となる部位までの変位に基づいて、前記人物の仮の基準位置を算出する、位置算出部と、
 検出されている前記関節毎に、算出された前記仮の基準位置に基づいて、当該関節が属する人物を決定する、姿勢推定部と、
を備えていることを特徴とする姿勢推定装置。
(付記2)
付記1に記載の姿勢推定装置であって、
 前記位置算出部は、前記人物の関節点それぞれについて、当該関節の位置、及び当該関節についての前記変位を推定し、推定した当該関節の位置及び当該関節についての前記変位に基づいて、前記人物の仮の基準位置を算出する、
ことを特徴とする姿勢推定装置。
(付記3)
付記1または2に記載の姿勢推定装置であって、
 前記姿勢推定部が、前記人物それぞれ毎に、当該人物に属する前記関節の位置に基づいて、当該人物の姿勢を推定する、
ことを特徴とする姿勢推定装置。
(付記4)
付記1~3のいずれかに記載の姿勢推定装置であって、
 前記画像データから、前記人物の基準となる部位が検出されている場合に、
 前記姿勢推定部が、検出されている前記関節毎に、前記仮の基準位置と検出された前記基準となる部位の位置との間の距離行列を求め、求めた前記距離行列を用いて、当該関節が属する人物を決定する、
ことを特徴とする姿勢推定装置。
(付記5)
付記4に記載の姿勢推定装置であって、
 前記画像データ中に、前記基準となる部位が検出されていない人物が存在する場合に、
 前記姿勢推定部が、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
ことを特徴とする姿勢推定装置。
(付記6)
付記1~3のいずれかに記載の姿勢推定装置であって、
 前記姿勢推定部が、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
ことを特徴とする姿勢推定装置。
(付記7)
付記1~6のいずれかに記載の姿勢推定装置であって、
 前記関節の位置、及び前記関節についての変位は、3次元座標上で表現される、
ことを特徴とする姿勢推定装置。
(付記8)
付記2に記載の姿勢推定装置であって、
 前記位置算出部が、検出されている前記関節それぞれの深度、及び前記画像データを撮影したカメラのパラメータを用いて、前記関節それぞれについて、当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標、を推定し、推定した当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標に基づいて、前記人物の仮の基準位置を示す3次元座標を算出する、
ことを特徴とする姿勢推定装置。
(付記9)
 画像データから検出されている人物の関節それぞれについて、当該関節の位置、及び当該関節から前記人物の基準となる部位までの変位に基づいて、前記人物の仮の基準位置を算出する、位置算出ステップと、
 検出されている前記関節毎に、算出された前記仮の基準位置に基づいて、当該関節が属する人物を決定する、姿勢推定ステップと、
を備えていることを特徴とする姿勢推定方法。
(付記10)
付記9に記載の姿勢推定方法であって、
 前記位置算出ステップにおいて、前記人物の関節点それぞれについて、当該関節の位置、及び当該関節についての前記変位を推定し、推定した当該関節の位置及び当該関節についての前記変位に基づいて、前記人物の仮の基準位置を算出する、
ことを特徴とする姿勢推定方法。
(付記11)
付記9または10に記載の姿勢推定方法であって、
 前記姿勢推定ステップにおいて、前記人物それぞれ毎に、当該人物に属する前記関節の位置に基づいて、当該人物の姿勢を推定する、
ことを特徴とする姿勢推定方法。
(付記12)
付記9~11のいずれかに記載の姿勢推定方法であって、
 前記画像データから、前記人物の基準となる部位が検出されている場合に、
 前記姿勢推定ステップにおいて、検出されている前記関節毎に、前記仮の基準位置と検出された前記基準となる部位の位置との間の距離行列を求め、求めた前記距離行列を用いて、当該関節が属する人物を決定する、
ことを特徴とする姿勢推定方法。
(付記13)
付記12に記載の姿勢推定方法であって、
 前記画像データ中に、前記基準となる部位が検出されていない人物が存在する場合に、
 前記姿勢推定ステップにおいて、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
ことを特徴とする姿勢推定方法。
(付記14)
付記9~11のいずれかに記載の姿勢推定方法であって、
 前記姿勢推定ステップにおいて、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
ことを特徴とする姿勢推定方法。
(付記15)
付記9~14のいずれかに記載の姿勢推定方法であって、
 前記関節の位置、及び前記関節についての変位は、3次元座標上で表現される、
ことを特徴とする姿勢推定方法。
(付記16)
付記10に記載の姿勢推定方法であって、
 前記位置算出ステップにおいて、検出されている前記関節それぞれの深度、及び前記画像データを撮影したカメラのパラメータを用いて、前記関節それぞれについて、当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標、を推定し、推定した当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標に基づいて、前記人物の仮の基準位置を示す3次元座標を算出する、
ことを特徴とする姿勢推定方法。
(付記17)
コンピュータに、
 画像データから検出されている人物の関節それぞれについて、当該関節の位置、及び当該関節から前記人物の基準となる部位までの変位に基づいて、前記人物の仮の基準位置を算出する、位置算出ステップと、
 検出されている前記関節毎に、算出された前記仮の基準位置に基づいて、当該関節が属する人物を決定する、姿勢推定ステップと、
を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
(付記18)
付記17に記載のコンピュータ読み取り可能な記録媒体であって、
 前記位置算出ステップにおいて、前記人物の関節点それぞれについて、当該関節の位置、及び当該関節についての前記変位を推定し、推定した当該関節の位置及び当該関節についての前記変位に基づいて、前記人物の仮の基準位置を算出する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記19)
付記17または18に記載のコンピュータ読み取り可能な記録媒体であって、
 前記姿勢推定ステップにおいて、前記人物それぞれ毎に、当該人物に属する前記関節の位置に基づいて、当該人物の姿勢を推定する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記20)
付記17~19のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
 前記画像データから、前記人物の基準となる部位が検出されている場合に、
 前記姿勢推定ステップにおいて、検出されている前記関節毎に、前記仮の基準位置と検出された前記基準となる部位の位置との間の距離行列を求め、求めた前記距離行列を用いて、当該関節が属する人物を決定する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記21)
付記20に記載のコンピュータ読み取り可能な記録媒体であって、
 前記画像データ中に、前記基準となる部位が検出されていない人物が存在する場合に、
 前記姿勢推定ステップにおいて、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記22)
付記17~19のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
 前記姿勢推定ステップにおいて、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記23)
付記17~22のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
 前記関節の位置、及び前記関節についての変位は、3次元座標上で表現される、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記24)
付記18に記載のコンピュータ読み取り可能な記録媒体であって、
 前記位置算出ステップにおいて、検出されている前記関節それぞれの深度、及び前記画像データを撮影したカメラのパラメータを用いて、前記関節それぞれについて、当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標、を推定し、推定した当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標に基づいて、前記人物の仮の基準位置を示す3次元座標を算出する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 以上のように、本発明によれば、推定対象となる人物の一部が隠れてしまっている場合における姿勢推定の精度の向上を図ることができる。本発明は、画像データ上で人物の姿勢を推定することが求められるシステム、例えば、監視システムに有用である。
 10 姿勢推定装置
 20 位置算出部
 21 CNN
 22 計算処理部
 23 関節位置・基準位置マップ
 24 相対変位マップ
 25 深度マップ
 26 カメラパラメータ
 30 姿勢推定部
 40 距離計測装置
 110 コンピュータ
 111 CPU
 112 メインメモリ
 113 記憶装置
 114 入力インターフェイス
 115 表示コントローラ
 116 データリーダ/ライタ
 117 通信インターフェイス
 118 入力機器
 119 ディスプレイ装置
 120 記録媒体
 121 バス

Claims (24)

  1.  画像データから検出されている人物の関節それぞれについて、当該関節の位置、及び当該関節から前記人物の基準となる部位までの変位に基づいて、前記人物の仮の基準位置を算出する、位置算出手段と、
     検出されている前記関節毎に算出された前記仮の基準位置に基づいて、当該関節が属する人物を決定する、姿勢推定手段と、
    を備えていることを特徴とする姿勢推定装置。
  2. 請求項1に記載の姿勢推定装置であって、
     前記位置算出手段は、前記人物の関節点それぞれについて、当該関節の位置、及び当該関節についての前記変位を推定し、推定した当該関節の位置及び当該関節についての前記変位に基づいて、前記人物の仮の基準位置を算出する、
    ことを特徴とする姿勢推定装置。
  3. 請求項1または2に記載の姿勢推定装置であって、
     前記姿勢推定手段が、前記人物それぞれ毎に、当該人物に属する前記関節の位置に基づいて、当該人物の姿勢を推定する、
    ことを特徴とする姿勢推定装置。
  4. 請求項1~3のいずれかに記載の姿勢推定装置であって、
     前記画像データから、前記人物の基準となる部位が検出されている場合に、
     前記姿勢推定手段が、検出されている前記関節毎に、前記仮の基準位置と検出された前記基準となる部位の位置との間の距離行列を求め、求めた前記距離行列を用いて、当該関節が属する人物を決定する、
    ことを特徴とする姿勢推定装置。
  5. 請求項4に記載の姿勢推定装置であって、
     前記画像データ中に、前記基準となる部位が検出されていない人物が存在する場合に、
     前記姿勢推定手段が、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
    ことを特徴とする姿勢推定装置。
  6. 請求項1~3のいずれかに記載の姿勢推定装置であって、
     前記姿勢推定手段が、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
    ことを特徴とする姿勢推定装置。
  7. 請求項1~6のいずれかに記載の姿勢推定装置であって、
     前記関節の位置、及び前記関節についての変位は、3次元座標上で表現される、
    ことを特徴とする姿勢推定装置。
  8. 請求項2に記載の姿勢推定装置であって、
     前記位置算出手段が、検出されている前記関節それぞれの深度、及び前記画像データを撮影したカメラのパラメータを用いて、前記関節それぞれについて、当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標、を推定し、推定した当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標に基づいて、前記人物の仮の基準位置を示す3次元座標を算出する、
    ことを特徴とする姿勢推定装置。
  9.  画像データから検出されている人物の関節それぞれについて、当該関節の位置、及び当該関節から前記人物の基準となる部位までの変位に基づいて、前記人物の仮の基準位置を算出し、
     検出されている前記関節毎に、算出された前記仮の基準位置に基づいて、当該関節が属する人物を決定する、
    ことを特徴とする姿勢推定方法。
  10. 請求項9に記載の姿勢推定方法であって、
     前記仮の基準位置の算出において、前記人物の関節点それぞれについて、当該関節の位置、及び当該関節についての前記変位を推定し、推定した当該関節の位置及び当該関節についての前記変位に基づいて、前記人物の仮の基準位置を算出する、
    ことを特徴とする姿勢推定方法。
  11. 請求項9または10に記載の姿勢推定方法であって、
     前記人物の決定において、前記人物それぞれ毎に、当該人物に属する前記関節の位置に基づいて、当該人物の姿勢を推定する、
    ことを特徴とする姿勢推定方法。
  12. 請求項9~11のいずれかに記載の姿勢推定方法であって、
     前記画像データから、前記人物の基準となる部位が検出されている場合に、
     前記人物の決定において、検出されている前記関節毎に、前記仮の基準位置と検出された前記基準となる部位の位置との間の距離行列を求め、求めた前記距離行列を用いて、当該関節が属する人物を決定する、
    ことを特徴とする姿勢推定方法。
  13. 請求項12に記載の姿勢推定方法であって、
     前記画像データ中に、前記基準となる部位が検出されていない人物が存在する場合に、
     前記人物の決定において、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
    ことを特徴とする姿勢推定方法。
  14. 請求項9~11のいずれかに記載の姿勢推定方法であって、
     前記人物の決定において、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
    ことを特徴とする姿勢推定方法。
  15. 請求項9~14のいずれかに記載の姿勢推定方法であって、
     前記関節の位置、及び前記関節についての変位は、3次元座標上で表現される、
    ことを特徴とする姿勢推定方法。
  16. 請求項10に記載の姿勢推定方法であって、
     前記仮の基準位置の算出において、検出されている前記関節それぞれの深度、及び前記画像データを撮影したカメラのパラメータを用いて、前記関節それぞれについて、当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標、を推定し、推定した当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標に基づいて、前記人物の仮の基準位置を示す3次元座標を算出する、
    ことを特徴とする姿勢推定方法。
  17. コンピュータに、
     画像データから検出されている人物の関節それぞれについて、当該関節の位置、及び当該関節から前記人物の基準となる部位までの変位に基づいて、前記人物の仮の基準位置を算出させ、
     検出されている前記関節毎に、算出された前記仮の基準位置に基づいて、当該関節が属する人物を決定させる、
    命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
  18. 請求項17に記載のコンピュータ読み取り可能な記録媒体であって、
     前記仮の基準位置の算出において、前記人物の関節点それぞれについて、当該関節の位置、及び当該関節についての前記変位を推定し、推定した当該関節の位置及び当該関節についての前記変位に基づいて、前記人物の仮の基準位置を算出する、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  19. 請求項17または18に記載のコンピュータ読み取り可能な記録媒体であって、
     前記人物の決定において、前記人物それぞれ毎に、当該人物に属する前記関節の位置に基づいて、当該人物の姿勢を推定する、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  20. 請求項17~19のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
     前記画像データから、前記人物の基準となる部位が検出されている場合に、
     前記人物の決定において、検出されている前記関節毎に、前記仮の基準位置と検出された前記基準となる部位の位置との間の距離行列を求め、求めた前記距離行列を用いて、当該関節が属する人物を決定する、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  21. 請求項20に記載のコンピュータ読み取り可能な記録媒体であって、
     前記画像データ中に、前記基準となる部位が検出されていない人物が存在する場合に、
     前記人物の決定において、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  22. 請求項17~19のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
     前記人物の決定において、検出されている前記関節それぞれの前記仮の基準位置に対してクラスタリングを実行し、クラスタリングの結果に基づいて、検出された前記関節毎に、当該関節が属する人物を決定する、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  23. 請求項17~22のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
     前記関節の位置、及び前記関節についての変位は、3次元座標上で表現される、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  24. 請求項18に記載のコンピュータ読み取り可能な記録媒体であって、
     前記仮の基準位置の算出において、検出されている前記関節それぞれの深度、及び前記画像データを撮影したカメラのパラメータを用いて、前記関節それぞれについて、当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標、を推定し、推定した当該関節の位置を示す3次元座標、及び当該関節についての前記変位を示す3次元座標に基づいて、前記人物の仮の基準位置を示す3次元座標を算出する、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
PCT/JP2021/021140 2021-06-03 2021-06-03 姿勢推定装置、姿勢推定方法、及びコンピュータ読み取り可能な記録媒体 WO2022254644A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2023525270A JPWO2022254644A5 (ja) 2021-06-03 姿勢推定装置、姿勢推定方法、及びプログラム
US18/273,431 US20240119620A1 (en) 2021-06-03 2021-06-03 Posture estimation apparatus, posture estimation method, and computer-readable recording medium
PCT/JP2021/021140 WO2022254644A1 (ja) 2021-06-03 2021-06-03 姿勢推定装置、姿勢推定方法、及びコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/021140 WO2022254644A1 (ja) 2021-06-03 2021-06-03 姿勢推定装置、姿勢推定方法、及びコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
WO2022254644A1 true WO2022254644A1 (ja) 2022-12-08

Family

ID=84322910

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/021140 WO2022254644A1 (ja) 2021-06-03 2021-06-03 姿勢推定装置、姿勢推定方法、及びコンピュータ読み取り可能な記録媒体

Country Status (2)

Country Link
US (1) US20240119620A1 (ja)
WO (1) WO2022254644A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009506441A (ja) * 2005-08-26 2009-02-12 ソニー株式会社 モーションキャプチャに使用されるラベリング
JP2020052476A (ja) * 2018-09-23 2020-04-02 株式会社Acculus オブジェクト検出装置およびオブジェクト検出プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009506441A (ja) * 2005-08-26 2009-02-12 ソニー株式会社 モーションキャプチャに使用されるラベリング
JP2020052476A (ja) * 2018-09-23 2020-04-02 株式会社Acculus オブジェクト検出装置およびオブジェクト検出プログラム

Also Published As

Publication number Publication date
JPWO2022254644A1 (ja) 2022-12-08
US20240119620A1 (en) 2024-04-11

Similar Documents

Publication Publication Date Title
Dong et al. Marker-free monitoring of the grandstand structures and modal identification using computer vision methods
US20200279121A1 (en) Method and system for determining at least one property related to at least part of a real environment
US9418480B2 (en) Systems and methods for 3D pose estimation
Dong et al. A non-target structural displacement measurement method using advanced feature matching strategy
US10636168B2 (en) Image processing apparatus, method, and program
US11398049B2 (en) Object tracking device, object tracking method, and object tracking program
US20170337701A1 (en) Method and system for 3d capture based on structure from motion with simplified pose detection
US10776978B2 (en) Method for the automated identification of real world objects
US10755422B2 (en) Tracking system and method thereof
Chattopadhyay et al. Frontal gait recognition from occluded scenes
CN111459269B (zh) 一种增强现实显示方法、系统及计算机可读存储介质
JP2002024807A (ja) 物体運動追跡手法及び記録媒体
JP2017059945A (ja) 画像解析装置及び画像解析方法
KR20200076267A (ko) 골격의 길이 정보를 이용한 제스쳐 인식 방법 및 처리 시스템
Romero-Ramirez et al. Tracking fiducial markers with discriminative correlation filters
JP2017096813A (ja) キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム
Angladon et al. The toulouse vanishing points dataset
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
Afif et al. Vision-based tracking technology for augmented reality: a survey
CN113196283A (zh) 使用射频信号的姿态估计
JP7484492B2 (ja) レーダーに基づく姿勢認識装置、方法及び電子機器
CN110728172B (zh) 基于点云的人脸关键点检测方法、装置、系统及存储介质
US11373318B1 (en) Impact detection
WO2022254644A1 (ja) 姿勢推定装置、姿勢推定方法、及びコンピュータ読み取り可能な記録媒体
CN113887384B (zh) 基于多轨迹融合的行人轨迹分析方法、装置、设备及介质

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: 21944146

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023525270

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18273431

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21944146

Country of ref document: EP

Kind code of ref document: A1