[go: up one dir, main page]

WO2018087933A1 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
WO2018087933A1
WO2018087933A1 PCT/JP2016/083728 JP2016083728W WO2018087933A1 WO 2018087933 A1 WO2018087933 A1 WO 2018087933A1 JP 2016083728 W JP2016083728 W JP 2016083728W WO 2018087933 A1 WO2018087933 A1 WO 2018087933A1
Authority
WO
WIPO (PCT)
Prior art keywords
joint
positional relationship
estimated
dimensional
type
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2016/083728
Other languages
English (en)
French (fr)
Inventor
良祐 山中
充 伴野
聡 田辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to PCT/JP2016/083728 priority Critical patent/WO2018087933A1/ja
Priority to JP2018550015A priority patent/JP6708260B2/ja
Publication of WO2018087933A1 publication Critical patent/WO2018087933A1/ja
Priority to US16/408,509 priority patent/US10839526B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Definitions

  • the present invention relates to an information processing apparatus, an information processing method, and a program.
  • the posture estimation of the human body using the photographed image can be used for automatic scoring such as gymnastics and dance, and motion analysis of athletes.
  • Patent Document 1 A technique for recognizing the position and orientation of an object without performing a corresponding point search that requires calculation cost and cannot completely avoid misrecognition is known (see, for example, Patent Document 1). Also, posture estimation methods described in Patent Documents 2 to 4 and Non-Patent Document 1 are known.
  • JP 2008-65368 A JP2015-167008A JP 2011-238222 A International Publication No. 2012/046392
  • the conventional posture estimation method does not consider the position of the joint in the depth direction, the posture of the limbs and the like with respect to the depth direction is unknown, and there is a problem that it is difficult to accurately estimate the posture of the human body.
  • An object of the present invention is to estimate the position of a joint and the posture of a part connected to the joint.
  • the information processing apparatus includes a first estimation unit, a second estimation unit, and a third estimation unit.
  • the first estimation unit estimates a first position of a first joint in a two-dimensional plane based on a color image, and is connected to the first joint via the first joint and a part. A first positional relationship in the two-dimensional plane with the second joint is estimated.
  • the second estimation unit estimates a second position of the first joint on the two-dimensional plane based on depth images indicating the depths of the first joint and the second joint. At the same time, a second positional relationship in the three-dimensional space between the first joint and the second joint is estimated.
  • the third estimation unit includes the first position and the first positional relationship estimated by the first estimation unit, and the second position and the second position estimated by the second estimation unit. Based on the positional relationship of 2, the third position of the first joint in the two-dimensional plane and the posture of the part in the three-dimensional space are estimated.
  • the position of a joint and the posture of a part connected to the joint can be estimated.
  • FIG. 1 is a diagram for explaining modeling of a human body.
  • a plurality of joints and parts such as the head and limbs of the human body 100 are set as “points”, and joints expressed as “points”
  • Parts such as limbs and trunks that connect the parts to each other are expressed as “sides”.
  • the joints and parts expressed as “points” when the human body is modeled are, for example, the head 1, the neck 2, the left shoulder (shoulder_left) 3, the left elbow (ebow_left) 4, and the left hand (hand_left). 5, right shoulder (shoulder_right) 6, right elbow (elbow_right) 7, right hand (hand_right) 8, spine_mid (spine_mid) 9, spine_base (spine_base) 10, left buttocks (hip_left) 11, right buttocks (hip_right) 12, a left knee (knee_left) 13, a left foot (foot_left) 14, a right knee (knee_right) 15, and a right foot (foot_right) 16.
  • parts such as the head and limbs expressed as “points” may be described as being included in the joint.
  • FIG. 2 is a diagram showing an estimated skeleton. Assume that the position of each joint is estimated by a conventional posture estimation method, and a skeleton as shown in FIG. 2 is estimated. However, since the conventional posture estimation method does not have information on the depth direction (Z direction), for example, as shown on the right side of FIG. 2, whether the right elbow 7 or the right hand 8 is positioned in front of the right shoulder 6 or is true. I don't know if it's located on the top or the back. Therefore, there is a problem that it is difficult to accurately estimate the posture.
  • Z direction the depth direction
  • FIG. 3 is a diagram for explaining the probability distribution of joint positions.
  • the probability distribution of a certain joint position can be represented by a heat map indicating the probability that the joint exists for each region of the image.
  • the probability distribution of the positions of other joints can also be represented by a heat map.
  • FIG. 4 is a functional block diagram of the posture estimation apparatus according to the embodiment.
  • the posture estimation apparatus 101 includes a camera 111, a depth camera 121, joint recognition units 131 and 141, joint relative position score calculation units 151 and 161, and a maximum probability position specifying unit 171.
  • the camera 111 captures a predetermined range, generates a color image 201 showing a subject (for example, a human body), and outputs the color image 201 to the joint recognition unit 131.
  • the depth camera 121 captures a predetermined range at the same timing as the camera 111, generates a depth image 211 indicating the distance from the depth camera 121 to the subject as a pixel value, and outputs the depth image 211 to the joint recognition unit 141.
  • a depth image 211 as shown in FIG. 6 is taken by the depth camera 121.
  • the pixel becomes white (the pixel value increases), and as the distance from the depth camera 121 to the subject decreases, the pixel becomes black (the pixel value decreases).
  • the joint recognition unit 131 calculates a joint position probability distribution ⁇ RGB indicating the existence probability of each joint in each region of the two-dimensional plane of each two-dimensional joint type from the color image 201.
  • the joint recognition unit 141 calculates a joint position probability distribution ⁇ Depth of each joint indicating the existence probability of each joint in each region of the two-dimensional plane of each of the three-dimensional joint types from the depth image 211.
  • the joint relative position score calculation unit 151 calculates a score (joint relative position score ⁇ RGB ) in each area of the two-dimensional plane of each joint of each two-dimensional joint type, and outputs the score to the maximum probability position specifying unit 171.
  • the joint relative position score calculation unit 151 may not be provided. In that case, the previously calculated joint relative position score [psi RGB external storage unit is input to the posture estimation unit 101 is stored in the (not shown), the maximum probability position specifying part 171 be read properly Good.
  • the joint relative position score calculation unit 161 calculates a score (joint relative position score ⁇ Depth ) in each region of the two-dimensional plane of each joint of the three-dimensional joint type, and outputs the score to the maximum probability position specifying unit 171.
  • the joint relative position score calculation unit 161 may not be provided.
  • the joint relative position score ⁇ Depth is calculated in advance externally, input to the posture estimation apparatus 101 and stored in a storage unit (not shown), and the maximum probability position specifying unit 171 reads it out as appropriate. Good.
  • the maximum probability position specifying unit 171 is most likely for each joint based on the joint relative position score ⁇ RGB , the joint position probability distribution ⁇ RGB , the joint relative position score ⁇ Depth , and the joint position probability distribution ⁇ Depth.
  • the position and type of the joint are specified, and the specified position and type of each joint are output.
  • FIG. 7 is a diagram illustrating division of an input image.
  • the joint recognition unit 131 divides the input image (color image 201) into a plurality of images (blocks) of horizontal M pixels and vertical M pixels.
  • the joint recognition unit 131 calculates the probability that each joint type exists in the block using template matching or Deep ⁇ ⁇ ⁇ ⁇ ⁇ Convolutional Neural Network (DCNN) for each block.
  • DCNN Deep ⁇ ⁇ ⁇ ⁇ ⁇ Convolutional Neural Network
  • FIG. 8 is a diagram for explaining a joint type.
  • the joint type is a way of seeing the connection between a joint and a body part connected to the joint, and the joint is classified into types.
  • the wrist is classified into eight types depending on how the wrist and the lower arm are seen (positional relationship with the elbow connected through the lower arm).
  • Adjacent joints refer to joints connected by the same part.
  • FIG. 9 is a diagram illustrating a two-dimensional joint type pattern. Specifically, the two-dimensional joint type is divided into T types according to the relative position (x ij , y ij ) on the image of a joint i and a joint j adjacent to the joint i. Is.
  • the type of joint i is type 1.
  • the type of joint i is type 2.
  • the type of joint i is type 3.
  • the type of joint i is type 4.
  • FIG. 10 shows a template.
  • FIG. 11 is a diagram illustrating template matching processing by the joint recognition unit.
  • template matching processing by the joint recognition unit 131 will be described.
  • the joint recognition unit 131 divides the input image (color image 201) into a plurality of images (blocks) of horizontal M pixels and vertical M pixels.
  • the joint recognition unit 131 processes the divided blocks one by one using template matching.
  • the joint recognizing unit 131 reads a plurality of templates for each type of each joint stored in a storage unit (not shown), performs template matching using the input block and the plurality of templates, and each joint of the block And calculate an estimate for each type.
  • estimated values are calculated for other blocks.
  • the joint recognition unit 131 may calculate the estimated value using DCNN.
  • FIG. 12 is a diagram illustrating DCNN processing.
  • the joint recognizing unit 131 constructs DCNN.
  • the user prepares teacher data t nm , and the joint recognition unit 131 learns using training data corresponding to each joint and each two-dimensional joint type, teacher data t nm, and estimated value z nm output from DCNN.
  • the learned weight w is stored in a storage unit (not shown), and the joint recognition unit 131 reads and uses the input image when processing the input image using DCNN.
  • the joint recognition unit 131 inputs a block obtained by dividing the input image to the DCNN as a two-dimensional array, and the DCNN outputs, as an output, a probability z nm that the block is each type of each joint.
  • FIG. 13 is a diagram illustrating DCNN processing by the joint recognition unit.
  • the joint recognition unit 131 divides the input image (color image 201) into a plurality of images (blocks) having horizontal M pixels and vertical M pixels.
  • the joint recognition unit 131 processes the divided blocks one by one using DCNN. Note that the learning of the DCNN weight w has been completed.
  • the joint recognizing unit 131 reads the weight w stored in the storage unit (not shown), and uses the input block and the weight w to calculate an estimated value for each joint and each type of the block by DCNN.
  • estimated values are calculated for other blocks.
  • the above-described method of calculating the estimated value of the joint recognition unit 131 is an example, and is not limited to template matching or DCNN.
  • FIG. 14 is a diagram illustrating a joint relative position score function adapted to two dimensions.
  • the user defines a function (joint relative position score function) that increases when the relative position of the joint i, j matches the joint type t i , t j , and the joint relative position score calculation unit 151 From the defined joint relative position score function, the relative position score ⁇ RGB in each region of the two-dimensional plane of each joint of the two-dimensional joint type is calculated.
  • x i and y i are the coordinates of the joint i
  • t i is the two-dimensional joint type of the joint i.
  • x j and y j are the coordinates of the joint j
  • t j is the two-dimensional joint type of the joint j.
  • the joint relative position score function f titj ( ⁇ x, ⁇ y) indicates, becomes maximum [Delta] x, [Delta] y at the joint relative position score function f titj ( ⁇ x, ⁇ y) is determined by t i, t j .
  • FIG. 15 is a diagram illustrating a three-dimensional joint type.
  • the joint type is determined based on the positional relationship between the joints i and j in two dimensions and is used in the joint recognition unit 131 and the joint position relative score calculation unit 151.
  • the xy plane is used.
  • the type using the depth in the z direction is performed.
  • ⁇ Type not only how the joints look (positional relationship) on the x-y plane, but also how the joints look on the y-z plane.
  • the three-dimensional joint type is used in the joint recognition unit 141 and the joint position relative score calculation unit 161.
  • FIG. 16 is a diagram illustrating a three-dimensional joint type pattern.
  • the three-dimensional joint type is divided into T ′ types according to the relative position (x ij , y ij , z ij ) on the image of a joint i and a joint j adjacent to the joint i. Is.
  • FIG. 17 is a diagram illustrating a joint position probability distribution ⁇ Depth indicating an estimated value of each joint type of each joint.
  • the joint recognizing unit 141 uses the depth image 211 instead of the color image 201 to calculate an estimated value using template matching or DCNN in the same manner as the joint recognizing unit 131, and generates a joint position probability distribution ⁇ Depth .
  • the joint recognition unit 141 uses a three-dimensional joint type as shown in FIG.
  • the user prepares templates for the number of three-dimensional joint types T ′ per joint.
  • a joint type template having a certain joint is an image showing the joint corresponding to the three-dimensional joint type.
  • the joint recognition unit 141 divides the input image (depth image 211) into a plurality of images (blocks) having horizontal M pixels and vertical M pixels.
  • the joint recognition unit 141 processes the divided blocks one by one using template matching.
  • the joint recognizing unit 141 reads a plurality of templates for each type of each joint stored in a storage unit (not shown), performs template matching using the input block and the plurality of templates, and each joint of the block And calculate an estimate for each type.
  • the calculated estimated value corresponds to the joint position probability distribution ⁇ Depth .
  • the joint recognizing unit 1411 constructs the DCNN.
  • the user prepares training data and teacher data t nm corresponding to each joint and each three-dimensional joint type, and the joint recognition unit 131 uses the training data, the teacher data t nm, and the estimated value z nm output from DCNN. Learning is performed and the DCNN is updated with the weight w.
  • the learned weight w is stored in a storage unit (not shown), and the joint recognition unit 131 reads and uses the input image when processing the input image using DCNN.
  • the joint recognition unit 141 inputs a block obtained by dividing the input image to the DCNN as a two-dimensional array, and the DCNN outputs, as an output, a probability z nm that the block is each type of each joint.
  • the joint recognition unit 141 divides the input image (depth image 211) into a plurality of images (blocks) having horizontal M pixels and vertical M pixels.
  • the joint recognition unit 141 processes the divided blocks one by one using DCNN. Note that the learning of the DCNN weight w has been completed.
  • the joint recognizing unit 141 reads the weight w stored in the storage unit (not shown), and uses the input block and the weight w to calculate an estimated value for each joint and each type of the block by DCNN.
  • estimated values are calculated for other blocks.
  • FIG. 18 is a diagram illustrating a joint relative position score function adapted to three dimensions.
  • the user defines a function (joint relative position score function) that increases when the relative position of the joint i, j matches the joint type t i , t j , and the joint relative position score calculation unit 151 From the defined joint relative position score function, a relative position score ⁇ Depth in each region of the two-dimensional plane of each of the three-dimensional joint types is calculated.
  • x i , y i , and z i are the coordinates of the joint i
  • t i is the three-dimensional joint type of the joint i.
  • x j , y j , and z j are the coordinates of the joint j
  • t j is the three-dimensional joint type of the joint j.
  • the joint relative position score function f titj ( ⁇ x, ⁇ y, ⁇ z ) shows the joint relative position score function f titj ( ⁇ x, ⁇ y, ⁇ z ) becomes maximum in the [Delta] x, [Delta] y, Delta] z is, t determined by i and t j .
  • FIG. 19 is a diagram illustrating the processing of the maximum probability position specifying unit.
  • the joint relative position score ⁇ RGB , the joint position probability distribution ⁇ RGB , the joint relative position score ⁇ Depth , and the joint position probability distribution ⁇ Depth are input to the maximum probability position specifying unit 171.
  • the maximum probability position specifying unit 171 sums up the joint relative position score ⁇ RGB , the joint position probability distribution ⁇ RGB , the joint relative position score ⁇ Depth , and the joint position probability distribution ⁇ Depth as shown in the following equation (1). F is calculated.
  • the score function F is a function for calculating the probability that the original joint is present when an arbitrary joint type and coordinates are selected from the joint position probability distribution.
  • x i , x j , y i , y j are common to ⁇ RGB , ⁇ Depth , ⁇ RGB , ⁇ Depth . t i RGB and t i Depth are independent.
  • i in i ⁇ joins indicates a joint, and i and j ⁇ part indicate a combination of adjacent joints.
  • the maximum probability position specifying unit 171 uses, for example, a max-sum method, an Expectation Maximization (EM) method, a Monte Carlo method, or a Genetic Algorithm (GA), and the score function F (x, y, z, t) is maximum. To identify the position.
  • the maximum probability position specifying unit 171 outputs the position coordinates and joint type of each specified joint as an estimation result.
  • FIG. 20 is a flowchart of posture estimation processing using the max-sum method according to the embodiment.
  • FIG. 21 is a diagram for explaining posture estimation processing using the max-sum method according to the embodiment.
  • step S ⁇ b> 501 the camera 111 captures and outputs a color image 201, and the joint recognition unit 131 inputs the color image 201. Further, the camera 121 performs shooting and outputs a depth image 211, and the joint recognition unit 141 inputs the depth image 211.
  • step S502 the joint recognition section 131 divides the color image 201, and calculates an estimated value of each joint type of two-dimensional of each joint of each of the divided blocks, to create a joint probability distribution phi RGB, maximum probability
  • the data is output to the position specifying unit 171.
  • step S503 the maximum probability position specifying unit 171 adds the joint relative position score [psi RGB two-dimensional coordinates of each joint of each of the joints type (blocks) to the corresponding joint probability distribution phi RGB, score distribution S Create RGB .
  • Joint relative position score [psi RGB is to joint the relative position may be calculated in advance by the score calculation unit 151, may be calculated in step S503.
  • step S504 the maximum probability position specifying unit 171 extracts the maximum value between joint types for each coordinate of each joint of S RGB and creates S RGB_max . At this time, it is stored which joint type is extracted from when S RGB_max is created.
  • step S505 the joint recognizing unit 141 divides the depth image 211, calculates an estimated value of each type of each joint of each divided block, and creates a joint probability distribution ⁇ Depth , The maximum probability position specifying unit 171 is output.
  • step S506 the maximum probability position specifying unit 171 adds the joint relative position score [psi Depth of each coordinate of the three-dimensional joint type each of the joints of the corresponding joint probability distribution phi Depth, creates a score distribution S Depth .
  • the joint relative position score ⁇ Depth may be calculated in advance by the joint relative position score calculation unit 161 or may be calculated in step S506.
  • step S507 the maximum probability position specifying unit 171 extracts a maximum value between types for each joint coordinate of the score distribution S Depth , and creates a score distribution S Depth_max . At this time, it is stored which joint type is extracted when the score distribution S Depth_max is created.
  • step S508 the maximum probability position specifying unit 171 adds S RGB_max and S Depth_max to create a score distribution S.
  • step S509 the maximum probability position specifying unit 171 searches for the coordinates of each joint having the maximum score distribution S.
  • the maximum probability position specifying unit 171 finds the coordinate having the maximum estimated value in each joint.
  • step S510 the maximum probability position specifying unit 171 outputs, for each joint, coordinates as a search result and a three-dimensional joint type corresponding to the coordinates. Further, the angles of the respective joints in the xy plane and the yz plane corresponding to each of the three-dimensional joint types are stored in a storage unit (not shown), and the maximum probability position specifying unit 171 becomes a search result. The angle corresponding to the joint type corresponding to the joint coordinates (the posture of the part connected to the joint) may be output as the estimation result.
  • FIG. 22 is a diagram illustrating an estimated joint type and an angle of a portion connected to the joint.
  • the joint types are classified according to the positional relationship between the joint i and the joint j adjacent to the joint i. Therefore, if the joint type of the joint i is known, the positional relationship between the joint i and the joint i adjacent to the joint i can be known, and the angle (posture) of the part connecting the joint i and the joint j can also be known.
  • the joint type t ′ of the right elbow is estimated, the positional relationship between the right elbow and the right shoulder connected via the upper arm is also known, so the angle (posture) of the upper arm is also known. Also, if you know the joint type of the right hand, you can also know the positional relationship between the right hand and the right elbow connected via the lower arm, so you can also know the angle (posture) of the lower arm and the angle between the upper arm and the lower arm (elbow angle) I understand.
  • the position of a joint and the posture of a part connected to the joint can be estimated.
  • FIG. 23 is a configuration diagram of an information processing apparatus (computer).
  • the posture estimation apparatus 101 of the embodiment can be realized by an information processing apparatus (computer) 701 as shown in FIG.
  • the information processing device 701 includes a CPU 702, a memory 703, an input device 704, an output device 705, a storage unit 706, a recording medium drive unit 707, and a network connection device 708, which are connected to each other via a bus 709.
  • the CPU 702 is a central processing unit that controls the entire information processing apparatus 1.
  • the CPU 702 operates as the joint recognition units 131 and 141, the joint relative position score calculation units 151 and 161, and the maximum probability position specification unit 171.
  • the memory 703 is a Read Only Memory (ROM) or Random Access Memory (RAM) that temporarily stores a program or data stored in the storage unit 706 (or the portable recording medium 710) during program execution. It is memory.
  • the CPU 702 executes the various processes described above by executing programs using the memory 3.
  • the program code itself read from the portable recording medium 710 or the like realizes the functions of the embodiment.
  • the input device 704 is used for inputting an instruction or information from a user or an operator, acquiring data used in the information processing device 701, or the like.
  • the input device 704 is, for example, a keyboard, a mouse, a touch panel, a camera, or a sensor.
  • the input device 704 corresponds to the camera 111 and the depth camera 121.
  • the output device 705 is a device that outputs inquiries to the user or operator and processing results, or operates under the control of the CPU 702.
  • the output device 705 is, for example, a display or a printer.
  • the storage unit 706 is, for example, a magnetic disk device, an optical disk device, a tape device, or the like.
  • the information processing apparatus 701 stores the above-described program and data in the storage unit 706 and reads them into the memory 703 and uses them as necessary.
  • the recording medium driving unit 707 drives the portable recording medium 710 and accesses the recorded contents.
  • the portable recording medium an arbitrary computer-readable recording medium such as a memory card, a flexible disk, a Compact Disk-Read-Only Memory (CD-ROM), an optical disk, a magneto-optical disk, or the like is used.
  • the user stores the above-described program and data in the portable recording medium 710 and reads them into the memory 703 and uses them as necessary.
  • the network connection device 708 is a communication interface that is connected to an arbitrary communication network such as Local Area Network (LAN) or Wide Area Network (WAN) and performs data conversion accompanying communication.
  • the network connection device 708 transmits data to a device connected via the communication network or receives data from a device connected via the communication network.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)

Abstract

カラー画像に基づいて、2次元平面における第1の関節の第1の位置を推定するとともに、前記第1の関節と、部位を介して前記第1の関節に繋がっている第2の関節との前記2次元平面における第1の位置関係を推定し、前記第1の関節と前記第2の関節とのそれぞれの深度を示す深度画像に基づいて、前記2次元平面における前記第1の関節の第2の位置を推定するとともに、前記第1の関節と前記第2の関節との3次元空間における第2の位置関係を推定し、前記第1の推定部により推定された前記第1の位置と前記第1の位置関係、および前記第2の推定部により推定された前記第2の位置と前記第2の位置関係に基づいて、前記2次元平面における前記第1の関節の第3の位置と、前記3次元空間における前記部位の姿勢とを推定する。

Description

情報処理装置、情報処理方法、およびプログラム
 本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
 撮影画像を用いた人体の姿勢推定は、体操やダンス等の自動採点やスポーツ選手の動作解析などの利用が考えられる。
 計算コストを要し、誤認識を完全に回避できない対応点探索を行わずに物体の位置および姿勢の認識を行う技術が知られている(例えば、特許文献1参照)。また、特許文献2~4、非特許文献1に記載の姿勢推定方法が知られている。
特開2008-65368号公報 特開2015-167008号公報 特開2011-238222号公報 国際公開第2012/046392号
 従来の姿勢推定方法では、関節の奥行方向の位置について考慮していないため、奥行方向に対する手足等の姿勢が不明であり、人体の姿勢の正確な推定が難しいという問題がある。
 本発明は、関節の位置と当該関節に繋がっている部位の姿勢を推定することを目的とする。
 実施の形態の情報処理装置は、第1の推定部、第2の推定部、および第3の推定部を備える。
 前記第1の推定部は、カラー画像に基づいて、2次元平面における第1の関節の第1の位置を推定するとともに、前記第1の関節と、部位を介して前記第1の関節に繋がっている第2の関節との前記2次元平面における第1の位置関係を推定する。
 前記第2の推定部は、前記第1の関節と前記第2の関節とのそれぞれの深度を示す深度画像に基づいて、前記2次元平面における前記第1の関節の第2の位置を推定するとともに、前記第1の関節と前記第2の関節との3次元空間における第2の位置関係を推定する。
 前記第3の推定部は、前記第1の推定部により推定された前記第1の位置と前記第1の位置関係、および前記第2の推定部により推定された前記第2の位置と前記第2の位置関係に基づいて、前記2次元平面における前記第1の関節の第3の位置と、前記3次元空間における前記部位の姿勢を推定する。
 実施の形態に係る情報処理装置によれば、関節の位置と当該関節に繋がっている部位の姿勢を推定することができる。
人体のモデル化について説明する図である。 推定された骨格を示す図である。 関節位置の確率分布を説明する図である。 実施の形態に係る姿勢推定装置の機能ブロック図である。 カラー画像の例である。 深度画像の例である。 入力画像の分割を示す図である。 関節タイプについて説明する図である。 2次元の関節タイプのパターンを示す図である。 テンプレートを示す図である。 関節認識部によるテンプレートマッチングの処理を示す図である。 DCNNの処理を示す図である。 関節認識部によるDCNNの処理を示す図である。 2次元に適合する関節相対位置スコア関数を示す図である。 3次元の関節タイプを説明する図である。 3次元の関節タイプのパターンを示す図である。 各関節の各関節タイプの推定値を示す関節位置確率分布φDepthを示す図である。 3次元に適合する関節相対位置スコア関数を示す図である。 最大確率位置特定部の処理を説明する図である。 実施の形態に係るmax-sum法を用いた姿勢推定処理のフローチャートである。 実施の形態に係るmax-sum法を用いた姿勢推定処理を説明する図である。 推定された関節タイプと関節に接続する部位の角度を示す図である。 情報処理装置(コンピュータ)の構成図である。
 以下、図面を参照しながら実施の形態について説明する。
 図1は、人体のモデル化について説明する図である。
 図1の左側に示す人体100をモデル化する場合、図1の右側に示すように人体100の複数の関節および頭や手足等の部位を「点」とし、「点」として表現される関節や部位を互いに繋ぐ肢体や胴などの部位を「辺」として表現する。
 人体をモデル化した場合に「点」として表現される関節や部位は、例えば、頭(head)1、首(neck)2、左肩(shoulder_left)3、左肘(ebow_left)4、左手(hand_left)5、右肩(shoulder_right)6、右肘(elbow_right)7、右手(hand_right)8、脊柱_中(spine_mid)9、脊柱_付け根(spine_base)10、左尻(hip_left)11、右尻(hip_right)12、左膝(knee_left)13、左足(foot_left)14、右膝(knee_right)15、右足(foot_right)16がある。以下、「点」として表現された頭や手足等の部位を関節に含まれるものとして表記する場合がある。
 図2は、推定された骨格を示す図である。
 従来の姿勢推定方法により、各関節の位置が推定され、図2に示すような骨格が推定されたとする。しかしながら、従来の姿勢推定方法では、奥行方向(Z方向)の情報を持たないため、例えば、図2の右側に示すように右肘7や右手8が右肩6より手前に位置するか、真上に位置するか、または奥に位置するか分からない。そのため、姿勢の正確な推定が困難であるという問題がある。
 図3は、関節位置の確率分布を説明する図である。
 実施の形態の姿勢推定方法では、ある関節の位置の確率分布(関節位置確率分布)は、画像の領域ごとに当該関節が存在する確率を示したヒートマップで表すことができる。
 例えば、図3の左側に示す頭(head)の位置に対するヒートマップでは、頭がその領域に存在する確率が高いほど当該領域の色は濃く表現されている。同様に、首や左肩等の他の関節の位置の確率分布もヒートマップで表すことができる。
 図4は、実施の形態に係る姿勢推定装置の機能ブロック図である。
 姿勢推定装置101は、カメラ111、深度カメラ121、関節認識部131,141、関節相対位置スコア算出部151,161、および最大確率位置特定部171を備える。
 カメラ111は、所定の範囲を撮影し、被写体(例えば、人体)が写ったカラー画像201を生成し、関節認識部131に出力する。カメラ111により、例えば、図5に示すようなカラー画像201が撮影される。
 深度カメラ121は、所定の範囲をカメラ111と同じタイミングで撮影し、深度カメラ121から被写体までの距離を画素値として示す深度画像211を生成し、関節認識部141に出力する。深度カメラ121により、例えば、図6に示すような深度画像211が撮影される。深度画像211において、深度カメラ121から被写体までの距離が遠いほど画素は白く(画素値は大きく)なり、深度カメラ121から被写体までの距離が近いほど画素は黒く(画素値は小さく)なる。
 関節認識部131は、カラー画像201から2次元の関節タイプそれぞれの2次元平面の各領域における各関節の存在確率を示す関節位置確率分布φRGBを算出する。
 関節認識部141は、深度画像211から3次元の関節タイプそれぞれの2次元平面の各領域における各関節の存在確率を示す各関節の関節位置確率分布φDepthを算出する。
 関節相対位置スコア算出部151は、2次元の関節タイプそれぞれの各関節の2次元平面の各領域におけるスコア(関節相対位置スコアψRGB)を算出し、最大確率位置特定部171に出力する。尚、関節相対位置スコア算出部151は、無くてもよい。その場合、関節相対位置スコアψRGBを外部で予め算出して、姿勢推定装置101に入力して記憶部(不図示)に記憶しておき、最大確率位置特定部171が適宜読み出すようにしてもよい。
 関節相対位置スコア算出部161は、3次元の関節タイプそれぞれの各関節の2次元平面の各領域におけるスコア(関節相対位置スコアψDepth)を算出し、最大確率位置特定部171に出力する。尚、関節相対位置スコア算出部161は、無くてもよい。その場合、関節相対位置スコアψDepthを外部で予め算出して、姿勢推定装置101に入力して記憶部(不図示)に記憶しておき、最大確率位置特定部171が適宜読み出すようにしてもよい。
 最大確率位置特定部171は、関節相対位置スコアψRGB、関節位置確率分布φRGB、関節相対位置スコアψDepth、および関節位置確率分布φDepthに基づいて、各関節に対して最も可能性が高い関節の位置とタイプを特定し、各関節の特定した関節の位置とタイプを出力する。
 次に関節認識部131に処理について説明する。
 図7は、入力画像の分割を示す図である。
 関節認識部131は、入力画像(カラー画像201)を横M画素、縦M画素の複数の画像(ブロック)に分割する。関節認識部131は、ブロックごとにテンプレートマッチングまたはDeep Convolutional Neural Network(DCNN)を用いて、当該ブロックに各関節タイプの各関節が存在する確率を算出する。
 図8は、関節タイプについて説明する図である。
 関節タイプとは、ある関節とその関節につながる身体パーツの繋がりの見え方で、その関節をタイプ分けしたものである。
 例えば、図8の上側に示すように、手首と下腕の繋がりの見え方(下腕を介して繋がる肘との位置関係)によって、手首を8つのタイプにタイプ分けしている。
 図8の下側に示すように、隣り合う関節のタイプを比較することで整合性が評価できる。隣り合う関節とは同じ部位により繋がっている関節のことを指す。
 図9は、2次元の関節タイプのパターンを示す図である。
 2次元の関節タイプは、詳細には、ある関節iと関節iに隣り合う関節jの画像上の相対位置(xij,yij)によって、関節iの写り方をT個のタイプに分けたものである。
 関節iの座標を(xi,yi)、関節iの座標を(xj,yj)とすると、相対位置(xij,yij)は、(xij,yij)=(xi-xj,yi-yj)である。
 タイプ数Tおよびタイプの分け方(パターン)は、ユーザが決定する。例えば、T=4の場合、図9の左側に示すようなパターン1、右側に示すようなパターン2のようなタイプ分けが用いられる。尚、図9に示す座標平面の横軸はxij、縦軸はyijである。
 例えば、パターン1において、xijとyijが両方とも正であれば、関節iのタイプはタイプ1となる。パターン1において、xijが負であり、yijが正であれば、関節iのタイプはタイプ2となる。パターン1において、xijとyijが両方とも負であれば、関節iのタイプはタイプ3となる。パターン1において、xijが正であり、yijが負であれば、関節iのタイプはタイプ4となる。
 図10は、テンプレートを示す図である。
 関節認識部131において、テンプレートマッチングを行う場合、ユーザは、1つの関節につき、関節タイプの数Tだけテンプレートを用意する。例えば、関節の数が16であり、関節タイプの数が4である場合、ユーザは、各関節の各タイプに対する64(=16×4)個のテンプレートを用意し、記憶部(負図示)等に予め記憶しておく。
 図11は、関節認識部によるテンプレートマッチングの処理を示す図である。
 以下、関節認識部131によるテンプレートマッチングの処理を説明する。
 関節認識部131は、入力画像(カラー画像201)を横M画素、縦M画素の複数の画像(ブロック)に分割する。関節認識部131は、分割したブロックを1枚ずつテンプレートマッチングを用いて処理する。
 関節認識部131は、記憶部(不図示)に記憶された各関節の各タイプに対する複数のテンプレートを読み出し、入力されたブロックと複数のテンプレートを用いて、テンプレートマッチングを行い、当該ブロックの各関節および各タイプに対する推定値を算出する。算出された推定値は、関節位置確率分布φRGBに相当する。例えば、あるブロックが入力されると、当該ブロックに対する各関節のタイプごとの推定値が得られる。あるブロックが入力され、関節=頭とタイプT=1に対する推定値として0.6が得られたとすると、当該ブロックにタイプT=1の頭が存在する確率が0.6であることを示す。以下、同様に他のブロックに対しても、推定値が算出される。
 次にDCNNについて説明する。関節認識部131は、DCNNを用いて推定値を算出してもよい。
 図12は、DCNNの処理を示す図である。
 DCNNを用いる場合、関節認識部131は、DCNNを構築する。ユーザは、教師データtnmを用意し、関節認識部131は、各関節と2次元の各関節タイプに対応した訓練データと教師データtnmとDCNNから出力される推定値znmを用いて学習を行い、DCNNを重みw更新する。n=1~J(Jは関節の数)、m=1~T(Tは関節タイプの数)である。学習した重みwは、記憶部(不図示)に記憶され、関節認識部131は、入力画像をDCNNを用いて処理するときに読み出して用いる。
 関節認識部131は、入力画像を分割したブロックを2次元配列としてDCNNに入力し、DCNNは出力として、当該ブロックが各関節の各タイプである確率znmを出力する。
 図13は、関節認識部によるDCNNの処理を示す図である。
 関節認識部131は、入力画像(カラー画像201)を横M画素、縦M画素の複数の画像(ブロック)に分割する。関節認識部131は、分割したブロックを1枚ずつDCNNを用いて処理する。尚、DCNNの重みwの学習は終了しているものとする。
 関節認識部131は、記憶部(不図示)に記憶された重みwを読み出し、入力されたブロックと重みwを用いて、DCNNにより、当該ブロックの各関節および各タイプに対する推定値を算出する。算出された推定値は、関節位置確率分布φRGBに相当する。例えば、あるブロックが入力されると、当該ブロックに対する各関節のタイプごとの推定値が得られる。あるブロックが入力され、関節=頭とタイプT=1に対する推定値として0.6が得られたとすると、当該ブロックにタイプT=1の頭が存在する確率が0.6であることを示す。以下、同様に他のブロックに対しても、推定値が算出される。
 尚、上述の関節認識部131の推定値の算出方法は一例であり、テンプレートマッチングやDCNNに限られるものではない。
 次に関節相対位置スコア算出部151が算出する関節相対位置スコアψRGBについて説明する。
 図14は、2次元に適合する関節相対位置スコア関数を示す図である。
 ユーザは、関節i,jの相対位置がその関節タイプti,tjに適合していれば値が大きくなる関数(関節相対位置スコア関数)を定義し、関節相対位置スコア算出部151は、定義された関節相対位置スコア関数から2次元の関節タイプそれぞれの各関節の2次元平面の各領域における相対位置スコアψRGBを算出する。
 関節相対位置スコア関数ψは、ψ(xi,yi,xj,yj,ti,tj)=ftitj(Δx,Δy)である。xi,yiは、関節iの座標であり、tiは関節iの2次元の関節タイプである。xj,yjは、関節jの座標であり、tは関節jの2次元の関節タイプである。ΔxとΔyは関節i,jの座標の差分であり、Δx=xi-xj,Δy=yi-yjである。
 図14の下側は、関節相対位置スコア関数ftitj(Δx,Δy)を示し、関節相対位置スコア関数ftitj(Δx,Δy)において最大となるΔx,Δyは、ti,tにより決まる。
 図15は、3次元の関節タイプを説明する図である。
 以上の説明では、関節タイプは2次元における関節i,jの位置関係に基づいて決定され、関節認識部131や関節位置相対スコア算出部151で用いられているが、以下の説明では、x-y平面での位置関係に加え、z方向の深度を用いたタイプわけを行う。
 x-y平面における関節の見え方(位置関係)だけでなく、y-z平面における関節の見え方も用いてタイプわけを行う。3次元の関節タイプは、関節認識部141や関節位置相対スコア算出部161で用いられる。
 図16は、3次元の関節タイプのパターンを示す図である。
 3次元の関節タイプは、ある関節iと関節iに隣り合う関節jの画像上の相対位置(xij,yij,zij)によって、関節iの写り方をT’個のタイプに分けたものである。
 関節iの座標を(xi,yi,zi)、関節jの座標を(xj,yj,zj)とすると、相対位置(xij,yij,zij)は、(xij,yij,zij)=(xi-xj,yi-yj,zi-zj)である。
 タイプ数T’およびタイプの分け方(パターン)は、ユーザが決定する。例えば、T’=8の場合、図16に示すパターンのようなタイプ分けが用いられる。
 例えば、xijとyijとzijがすべて正であれば、関節iのタイプはタイプ1となる。
 図17は、各関節の各関節タイプの推定値を示す関節位置確率分布φDepthを示す図である。
 関節認識部141は、カラー画像201の代わりに深度画像211を用いて、関節認識部131と同様にテンプレートマッチングやDCNNを用いて、推定値を算出し、関節位置確率分布φDepthを生成する。
 また、関節認識部141は、図16に示すような3次元の関節タイプを用いる。
 関節認識部141において、テンプレートマッチングを行う場合、ユーザは、1つの関節につき、3次元の関節タイプの数T’だけテンプレートを用意する。ある関節のある関節タイプのテンプレートは、3次元の当該関節タイプに対応した当該関節を示す画像である。
 関節認識部141は、入力画像(深度画像211)を横M画素、縦M画素の複数の画像(ブロック)に分割する。関節認識部141は、分割したブロックを1枚ずつテンプレートマッチングを用いて処理する。
 関節認識部141は、記憶部(不図示)に記憶された各関節の各タイプに対する複数のテンプレートを読み出し、入力されたブロックと複数のテンプレートを用いて、テンプレートマッチングを行い、当該ブロックの各関節および各タイプに対する推定値を算出する。算出された推定値は、関節位置確率分布φDepthに相当する。
 関節認識部141において、DCNNを用いる場合、関節認識部141は、DCNNを構築する。ユーザは、各関節と3次元の各関節タイプに対応する訓練データと教師データtnmを用意し、関節認識部131は、訓練データと教師データtnmとDCNNから出力される推定値znmを用いて学習を行い、DCNNを重みw更新する。n=1~J(Jは関節の数)、m=1~T’(T’は3次元の関節タイプの数)である。学習した重みwは、記憶部(不図示)に記憶され、関節認識部131は、入力画像をDCNNを用いて処理するときに読み出して用いる。
 関節認識部141は、入力画像を分割したブロックを2次元配列としてDCNNに入力し、DCNNは出力として、当該ブロックが各関節の各タイプである確率znmを出力する。
 関節認識部141は、入力画像(深度画像211)を横M画素、縦M画素の複数の画像(ブロック)に分割する。関節認識部141は、分割したブロックを1枚ずつDCNNを用いて処理する。尚、DCNNの重みwの学習は終了しているものとする。
 関節認識部141は、記憶部(不図示)に記憶された重みwを読み出し、入力されたブロックと重みwを用いて、DCNNにより、当該ブロックの各関節および各タイプに対する推定値を算出する。算出された推定値は、関節位置確率分布φDepthに相当する。例えば、あるブロックが入力されると、当該ブロックに対する各関節のタイプごとの推定値が得られる。あるブロックが入力され、関節=頭とタイプT’=1に対する推定値として0.6が得られたとすると、当該ブロックにタイプT=1の頭が存在する確率が0.6であることを示す。以下、同様に他のブロックに対しても、推定値が算出される。
 次に関節相対位置スコア算出部161が算出する関節相対位置スコアψDepthについて説明する。
 図18は、3次元に適合する関節相対位置スコア関数を示す図である。
 ユーザは、関節i,jの相対位置がその関節タイプti,tjに適合していれば値が大きくなる関数(関節相対位置スコア関数)を定義し、関節相対位置スコア算出部151は、定義された関節相対位置スコア関数から3次元の関節タイプそれぞれの2次元平面の各領域における相対位置スコアψDepthを算出する。
 関節相対位置スコア関数ψDepthは、ψDepth(xi,yi,zi,xj,yj,zj,ti,tj)=ftitj(Δx,Δy,Δz)である。xi,yi,ziは、関節iの座標であり、tiは関節iの3次元の関節タイプである。xj,yj,zjは、関節jの座標であり、tは関節jの3次元の関節タイプである。ΔxとΔyとΔzは関節i,jの座標の差分であり、Δx=xi-xj,Δy=yi-yj,Δz=zi-zjである。
 図18の下側は、関節相対位置スコア関数ftitj(Δx,Δy,Δz)を示し、関節相対位置スコア関数ftitj(Δx,Δy,Δz)において最大となるΔx,Δy,Δzは、ti,tにより決まる。
 図19は、最大確率位置特定部の処理を説明する図である。
 最大確率位置特定部171には、関節相対位置スコアψRGB、関節位置確率分布φRGB、関節相対位置スコアψDepth、および関節位置確率分布φDepthが入力される。最大確率位置特定部171は、関節相対位置スコアψRGB、関節位置確率分布φRGB、関節相対位置スコアψDepth、および関節位置確率分布φDepthを合計した、下式(1)のようなスコア関数Fを計算する。
Figure JPOXMLDOC01-appb-M000001
 スコア関数Fは、関節位置確率分布から任意の関節タイプと座標を選択したときに本来の関節がある確からしさを計算する関数である。φRGBDepthRGBDepthで、xi,xj,yi,yjは共通である。ti RGBとti Depthは独立である。i∈jointsのiは関節を示し、i,j∈partは隣り合う関節の組み合わせを示す。
 最大確率位置特定部171は、例えば、max-sum法、Expectation Maximization(EM)法、モンテカルロ法、またはGenetic Algorithm(GA)を用いて、スコア関数F(x,y,z,t)が最大となる位置を特定する。最大確率位置特定部171は、推定結果として、特定された各関節の位置座標と関節タイプを出力する。
 次に最大確率位置の特定にmax-sum法を用いた場合の姿勢推定処理について説明する。
 図20は、実施の形態に係るmax-sum法を用いた姿勢推定処理のフローチャートである。
 図21は、実施の形態に係るmax-sum法を用いた姿勢推定処理を説明する図である。
 ステップS501において、カメラ111は撮影を行ってカラー画像201を出力し、関節認識部131はカラー画像201を入力する。また、カメラ121は撮影を行って深度画像211を出力し、関節認識部141は深度画像211を入力する。
 ステップS502において、関節認識部131は、カラー画像201を分割し、分割された各ブロックの各関節の2次元の各関節タイプの推定値を算出し、関節確率分布φRGBを作成し、最大確率位置特定部171に出力する。
 ステップS503において、最大確率位置特定部171は、2次元の各関節タイプそれぞれの各関節の各座標(ブロック)の関節相対位置スコアψRGBを対応する関節確率分布φRGBに加算し、スコア分布SRGBを作成する。関節相対位置スコアψRGBは、関節相対位置スコア算出部151により予め算出されていても良いし、ステップS503において算出されてもよい。
 ステップS504において、最大確率位置特定部171は、SRGBの各関節の各座標ごとに関節タイプ間の最大値を抜き出しSRGB_maxを作成する。このとき、SRGB_maxを作成するときにどの関節タイプから抜き出したかを記憶しておく。
 ステップS505において、関節認識部141は、関節認識部141は、深度画像211を分割し、分割された各ブロックの各関節の各タイプの推定値を算出し、関節確率分布φDepthを作成し、最大確率位置特定部171に出力する。
 ステップS506において、最大確率位置特定部171は、3次元の関節タイプそれぞれの各関節の各座標の関節相対位置スコアψDepthを対応する関節確率分布φDepthに加算し、スコア分布SDepthを作成する。関節相対位置スコアψDepthは、関節相対位置スコア算出部161により予め算出されていても良いし、ステップS506において算出されてもよい。
 ステップS507において、最大確率位置特定部171は、スコア分布SDepthの各関節の座標ごとにタイプ間の最大値を抜き出し、スコア分布SDepth_maxを作成する。このとき、スコア分布SDepth_maxを作成するときにどの関節タイプから抜き出したかを記憶しておく。
 ステップS508において、最大確率位置特定部171は、SRGB_max とSDepth_maxを加算し、スコア分布Sを作成する。
 ステップS509において、最大確率位置特定部171は、スコア分布Sの最大となる各関節の座標を探索する。最大確率位置特定部171は、各関節において、推定値が最大である座標を見つける。
 ステップS510において、最大確率位置特定部171は、各関節において、探索結果となる座標とその座標に対応する3次元の関節タイプを出力する。また、3次元の関節タイプそれぞれ対応したx-y平面とy-z平面におけるそれぞれの関節の角度を記憶部(不図示)に記憶しておき、最大確率位置特定部171は、探索結果となる関節座標に対応する関節タイプに対応する角度(関節に繋がっている部位の姿勢)を推定結果として出力してもよい。
 図22は、推定された関節タイプと関節に接続する部位の角度を示す図である。
 例えば、姿勢推定方法により、右肘の関節タイプとしてt’=10が出力されたとする。上述のように関節タイプは、関節iと関節iと隣り合う関節jとの位置関係によりタイプ分けされている。よって、関節iの関節タイプが分かれば関節iと関節iと隣り合う関節jとの位置関係も分かり、関節iと関節jとをつなぐ部位の角度(姿勢)も分かる。したがって、例えば、右肘の関節タイプt’が推定されば、右肘と上腕を介して繋がる右肩との位置関係も分かるため、上腕の角度(姿勢)も分かる。また、右手の関節タイプが分かれば、右手と下腕を介して繋がる右肘との位置関係も分かるため、下腕の角度(姿勢)も分かり、上腕と下腕が成す角度(肘の角度)も分かる。
 実施の形態に係る姿勢推定装置によれば、関節の位置と当該関節に繋がっている部位の姿勢を推定することができる。
 図23は、情報処理装置(コンピュータ)の構成図である。
 実施の形態の姿勢推定装置101は、例えば、図23に示すような情報処理装置(コンピュータ)701によって実現可能である。
 情報処理装置701は、CPU702、メモリ703、入力装置704、出力装置705、記憶部706、記録媒体駆動部707、及びネットワーク接続装置708を備え、それらはバス709により互いに接続されている。
 CPU702は、情報処理装置1全体を制御する中央処理装置である。CPU702は、関節認識部131,141、関節相対位置スコア算出部151,161、および最大確率位置特定部171として動作する。
 メモリ703は、プログラム実行の際に、記憶部706(あるいは可搬記録媒体710)に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ROM)やRandom Access Memory(RAM)等のメモリである。CPU702は、メモリ3を利用してプログラムを実行することにより、上述した各種処理を実行する。
 この場合、可搬記録媒体710等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
 入力装置704は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置701で用いられるデータの取得等に用いられる。入力装置704は、例えば、キーボード、マウス、タッチパネル、カメラ、またはセンサ等である。入力装置704は、カメラ111および深度カメラ121に相当する。
 出力装置705は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、CPU702による制御により動作する装置である。出力装置705は、例えば、ディスプレイ、またはプリンタ等である。
 記憶部706は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置701は、記憶部706に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ703に読み出して使用する。
 記録媒体駆動部707は、可搬記録媒体710を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(CD-ROM)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体710に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ703に読み出して使用する。
 ネットワーク接続装置708は、Local Area Network(LAN)やWide Area Network(WAN)等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置708は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。

Claims (9)

  1.  カラー画像に基づいて、2次元平面における第1の関節の第1の位置を推定するとともに、前記第1の関節と、部位を介して前記第1の関節に繋がっている第2の関節との前記2次元平面における第1の位置関係を推定する第1の推定部と、
     前記第1の関節と前記第2の関節とのそれぞれの深度を示す深度画像に基づいて、前記2次元平面における前記第1の関節の第2の位置を推定するとともに、前記第1の関節と前記第2の関節との3次元空間における第2の位置関係を推定する第2の推定部と、
     前記第1の推定部により推定された前記第1の位置と前記第1の位置関係、および前記第2の推定部により推定された前記第2の位置と前記第2の位置関係に基づいて、前記2次元平面における前記第1の関節の第3の位置と、前記3次元空間における前記部位の姿勢とを推定する第3の推定部と、
     を備える情報処理装置。
  2.  前記第1の関節に対する3次元空間における第1の関節と第2の関節との複数の位置関係に対応する複数のテンプレート情報を記憶する記憶部をさらに備え、
     前記第2の推定部は、前記深度画像と前記複数のテンプレート情報とを用いてテンプレートマッチングを行うことにより前記第2の位置関係を推定することを特徴とする請求項1記載の情報処理装置。
  3.  前記第2の推定部は、前記第1の関節に対する3次元における前記第1の関節と前記第2の関節との複数の位置関係を示す情報をニューラルネットワークに学習させ、学習させた前記ニューラルネットワークに前記深度画像を入力することにより前記第2の位置関係を推定することを特徴とする請求項1記載の情報処理装置。
  4.  情報処理装置が
      カラー画像に基づいて、2次元平面における第1の関節の第1の位置を推定するとともに、前記第1の関節と、部位を介して前記第1の関節に繋がっている第2の関節との前記2次元平面における第1の位置関係を推定し、
      前記第1の関節と前記第2の関節とのそれぞれの深度を示す深度画像に基づいて、前記2次元平面における前記第1の関節の第2の位置を推定するとともに、前記第1の関節と前記第2の関節との3次元空間における第2の位置関係を推定し、
      前記第1の推定部により推定された前記第1の位置と前記第1の位置関係、および前記第2の推定部により推定された前記第2の位置と前記第2の位置関係に基づいて、前記2次元平面における前記第1の関節の第3の位置と、前記3次元空間における前記部位の姿勢とを推定する
     処理を備える情報処理方法。
  5.  前記情報処理装置は、前記第1の関節に対する3次元空間における第1の関節と第2の関節との複数の位置関係に対応する複数のテンプレート情報を記憶する記憶部を備え、
     前記第2の位置関係を推定する処理は、前記深度画像と前記複数のテンプレート情報とを用いてテンプレートマッチングを行うことにより前記第2の位置関係を推定することを特徴とする請求項4記載の情報処理方法。
  6.  前記第1の関節に対する3次元における前記第1の関節と前記第2の関節との複数の位置関係を示す情報をニューラルネットワークに学習させる処理をさらに備え、
     前記第2の位置関係を推定する処理は、学習させた前記ニューラルネットワークに前記深度画像を入力することにより前記第2の位置関係を推定することを特徴とする請求項4記載の情報処理方法。
  7.  コンピュータに
      カラー画像に基づいて、2次元平面における第1の関節の第1の位置を推定するとともに、前記第1の関節と、部位を介して前記第1の関節に繋がっている第2の関節との前記2次元平面における第1の位置関係を推定し、
      前記第1の関節と前記第2の関節とのそれぞれの深度を示す深度画像に基づいて、前記2次元平面における前記第1の関節の第2の位置を推定するとともに、前記第1の関節と前記第2の関節との3次元空間における第2の位置関係を推定し、
      前記第1の推定部により推定された前記第1の位置と前記第1の位置関係、および前記第2の推定部により推定された前記第2の位置と前記第2の位置関係に基づいて、前記2次元平面における前記第1の関節の第3の位置と、前記3次元空間における前記部位の姿勢とを推定する
     処理を実行させるプログラム。
  8.  前記コンピュータは、前記第1の関節に対する3次元空間における第1の関節と第2の関節との複数の位置関係に対応する複数のテンプレート情報を記憶する記憶部を備え、
     前記第2の位置関係を推定する処理は、前記深度画像と前記複数のテンプレート情報とを用いてテンプレートマッチングを行うことにより前記第2の位置関係を推定することを特徴とする請求項7記載のプログラム。
  9.  前記第1の関節に対する3次元における前記第1の関節と前記第2の関節との複数の位置関係を示す情報をニューラルネットワークに学習させる処理をさらに備え、
     前記第2の位置関係を推定する処理は、学習させた前記ニューラルネットワークに前記深度画像を入力することにより前記第2の位置関係を推定することを特徴とする請求項7記載のプログラム。
PCT/JP2016/083728 2016-11-14 2016-11-14 情報処理装置、情報処理方法、およびプログラム Ceased WO2018087933A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2016/083728 WO2018087933A1 (ja) 2016-11-14 2016-11-14 情報処理装置、情報処理方法、およびプログラム
JP2018550015A JP6708260B2 (ja) 2016-11-14 2016-11-14 情報処理装置、情報処理方法、およびプログラム
US16/408,509 US10839526B2 (en) 2016-11-14 2019-05-10 Information processing device, information processing method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/083728 WO2018087933A1 (ja) 2016-11-14 2016-11-14 情報処理装置、情報処理方法、およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/408,509 Continuation US10839526B2 (en) 2016-11-14 2019-05-10 Information processing device, information processing method, and recording medium

Publications (1)

Publication Number Publication Date
WO2018087933A1 true WO2018087933A1 (ja) 2018-05-17

Family

ID=62109635

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/083728 Ceased WO2018087933A1 (ja) 2016-11-14 2016-11-14 情報処理装置、情報処理方法、およびプログラム

Country Status (3)

Country Link
US (1) US10839526B2 (ja)
JP (1) JP6708260B2 (ja)
WO (1) WO2018087933A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020046988A (ja) * 2018-09-19 2020-03-26 株式会社トライフォート 情報処理システム、情報処理方法及び情報処理プログラム
JPWO2020241100A1 (ja) * 2019-05-30 2020-12-03
WO2021048988A1 (ja) * 2019-09-12 2021-03-18 富士通株式会社 骨格認識方法、骨格認識プログラムおよび情報処理装置
JP2021513175A (ja) * 2018-09-18 2021-05-20 ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド データ処理方法及び装置、電子機器並びに記憶媒体
JP2022536790A (ja) * 2019-06-14 2022-08-18 ヒンジ ヘルス, インコーポレイテッド 人物の単眼深度推定のための方法およびシステム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6923789B2 (ja) * 2017-07-05 2021-08-25 富士通株式会社 情報処理プログラム、情報処理装置、情報処理方法、及び情報処理システム
US11361467B2 (en) * 2019-11-22 2022-06-14 Adobe Inc. Pose selection and animation of characters using video data and training techniques
US11282257B2 (en) 2019-11-22 2022-03-22 Adobe Inc. Pose selection and animation of characters using video data and training techniques
CN112101802B (zh) * 2020-09-21 2022-01-11 广东电网有限责任公司电力科学研究院 姿态负荷数据的评价方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000251078A (ja) * 1998-12-22 2000-09-14 Atr Media Integration & Communications Res Lab 人物の3次元姿勢推定方法および装置ならびに人物の肘の位置推定方法および装置
JP2014522018A (ja) * 2011-06-22 2014-08-28 マイクロソフト コーポレーション 全自動動的有関節モデル較正
JP2015061577A (ja) * 2013-01-18 2015-04-02 株式会社東芝 動作情報処理装置
JP2015167008A (ja) * 2013-07-30 2015-09-24 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7869646B2 (en) * 2005-12-01 2011-01-11 Electronics And Telecommunications Research Institute Method for estimating three-dimensional position of human joint using sphere projecting technique
JP4148281B2 (ja) * 2006-06-19 2008-09-10 ソニー株式会社 モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム
JP4765075B2 (ja) 2006-09-04 2011-09-07 国立大学法人九州工業大学 ステレオ画像を利用した物体の位置および姿勢認識システムならびに物体の位置および姿勢認識方法を実行するプログラム
EP2383696A1 (en) 2010-04-30 2011-11-02 LiberoVision AG Method for estimating a pose of an articulated object model
US8437506B2 (en) * 2010-09-07 2013-05-07 Microsoft Corporation System for fast, probabilistic skeletal tracking
JP5820366B2 (ja) 2010-10-08 2015-11-24 パナソニック株式会社 姿勢推定装置及び姿勢推定方法
US9058663B2 (en) * 2012-04-11 2015-06-16 Disney Enterprises, Inc. Modeling human-human interactions for monocular 3D pose estimation
US10019629B2 (en) * 2016-05-31 2018-07-10 Microsoft Technology Licensing, Llc Skeleton-based action detection using recurrent neural network
US9870622B1 (en) * 2016-07-18 2018-01-16 Dyaco International, Inc. Systems and methods for analyzing a motion based on images
WO2018017399A1 (en) * 2016-07-20 2018-01-25 Usens, Inc. Method and system for 3d hand skeleton tracking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000251078A (ja) * 1998-12-22 2000-09-14 Atr Media Integration & Communications Res Lab 人物の3次元姿勢推定方法および装置ならびに人物の肘の位置推定方法および装置
JP2014522018A (ja) * 2011-06-22 2014-08-28 マイクロソフト コーポレーション 全自動動的有関節モデル較正
JP2015061577A (ja) * 2013-01-18 2015-04-02 株式会社東芝 動作情報処理装置
JP2015167008A (ja) * 2013-07-30 2015-09-24 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021513175A (ja) * 2018-09-18 2021-05-20 ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド データ処理方法及び装置、電子機器並びに記憶媒体
US11238273B2 (en) 2018-09-18 2022-02-01 Beijing Sensetime Technology Development Co., Ltd. Data processing method and apparatus, electronic device and storage medium
JP2020046988A (ja) * 2018-09-19 2020-03-26 株式会社トライフォート 情報処理システム、情報処理方法及び情報処理プログラム
JPWO2020241100A1 (ja) * 2019-05-30 2020-12-03
WO2020241100A1 (ja) * 2019-05-30 2020-12-03 コニカミノルタ株式会社 3次元姿勢推定方法、プログラム、記録媒体および3次元姿勢推定装置
JP7439832B2 (ja) 2019-05-30 2024-02-28 コニカミノルタ株式会社 3次元姿勢推定方法、プログラム、記録媒体および3次元姿勢推定装置
JP2022536790A (ja) * 2019-06-14 2022-08-18 ヒンジ ヘルス, インコーポレイテッド 人物の単眼深度推定のための方法およびシステム
JP7499280B2 (ja) 2019-06-14 2024-06-13 ヒンジ ヘルス, インコーポレイテッド 人物の単眼深度推定のための方法およびシステム
US12373983B2 (en) 2019-06-14 2025-07-29 Hinge Health, Inc. Method and system for monocular depth estimation of persons
WO2021048988A1 (ja) * 2019-09-12 2021-03-18 富士通株式会社 骨格認識方法、骨格認識プログラムおよび情報処理装置
JPWO2021048988A1 (ja) * 2019-09-12 2021-03-18
JP7367764B2 (ja) 2019-09-12 2023-10-24 富士通株式会社 骨格認識方法、骨格認識プログラムおよび情報処理装置

Also Published As

Publication number Publication date
JPWO2018087933A1 (ja) 2019-06-24
US10839526B2 (en) 2020-11-17
JP6708260B2 (ja) 2020-06-10
US20190266734A1 (en) 2019-08-29

Similar Documents

Publication Publication Date Title
JP6708260B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US10189162B2 (en) Model generation apparatus, information processing apparatus, model generation method, and information processing method
KR101865655B1 (ko) 증강현실 상호 작용 서비스 제공 장치 및 방법
JP4479194B2 (ja) 動作識別装置、及び対象物の姿勢識別装置
JP2021530061A (ja) 画像処理方法及びその装置、電子機器並びにコンピュータ可読記憶媒体
JP2019096113A (ja) キーポイントデータに関する加工装置、方法及びプログラム
JPH10320588A (ja) 画像処理装置および画像処理方法
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
WO2013145615A1 (ja) 部位推定装置、部位推定方法、および部位推定プログラム
CN110546644A (zh) 识别装置、识别方法以及识别程序
JP6020439B2 (ja) 画像処理装置、撮像装置、および画像処理プログラム
CN110603570A (zh) 对象物识别方法、装置、系统、程序
JP2015219868A (ja) 情報処理装置、情報処理方法、プログラム
CN104919492A (zh) 特征点位置检测设备、特征点位置检测方法以及特征点位置检测程序
WO2006049147A1 (ja) 三次元形状推定システム及び画像生成システム
JP2021174537A (ja) 画像処理装置、画像処理方法及びマシン可読記憶媒体
JP5503510B2 (ja) 姿勢推定装置および姿勢推定プログラム
JP7480001B2 (ja) 学習装置、処理装置、学習方法、姿勢検出モデル、プログラム、及び記憶媒体
JP2019012497A (ja) 部位認識方法、装置、プログラム、及び撮像制御システム
US20220254052A1 (en) Three-dimensional pose estimation method, program, recording medium and three-dimensional pose estimation device
JP4765075B2 (ja) ステレオ画像を利用した物体の位置および姿勢認識システムならびに物体の位置および姿勢認識方法を実行するプログラム
CN116407273A (zh) 基于人体位姿的超声自动检测方法及系统
Campomanes-Álvarez et al. An experimental study on fuzzy distances for skull–face overlay in craniofacial superimposition
WO2023273389A1 (zh) 人体躺姿检测方法及使用该方法的移动机器
Usabiaga et al. Global hand pose estimation by multiple camera ellipse tracking

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018550015

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

Country of ref document: EP

Kind code of ref document: A1