WO2012077287A1 - 姿勢状態推定装置および姿勢状態推定方法 - Google Patents

姿勢状態推定装置および姿勢状態推定方法 Download PDF

Info

Publication number
WO2012077287A1
WO2012077287A1 PCT/JP2011/006499 JP2011006499W WO2012077287A1 WO 2012077287 A1 WO2012077287 A1 WO 2012077287A1 JP 2011006499 W JP2011006499 W JP 2011006499W WO 2012077287 A1 WO2012077287 A1 WO 2012077287A1
Authority
WO
WIPO (PCT)
Prior art keywords
posture state
likelihood map
likelihood
map
region
Prior art date
Application number
PCT/JP2011/006499
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 CN201180054681.4A priority Critical patent/CN103221977B/zh
Priority to JP2012547682A priority patent/JP5837508B2/ja
Priority to US13/991,021 priority patent/US9262674B2/en
Publication of WO2012077287A1 publication Critical patent/WO2012077287A1/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
    • 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/77Determining position or orientation of objects or cameras using statistical methods
    • 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/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Definitions

  • the present invention relates to a posture state estimation device and a posture state estimation method for estimating a posture state of an object based on image data obtained by imaging an object having a plurality of regions connected by joints.
  • Behavior analysis includes, for example, abnormal behavior detection on the street, purchase behavior analysis in a store, work efficiency improvement support in a factory, and form guidance in sports.
  • Non-Patent Document 1 describes a technique for estimating the posture state of a person based on image data captured by a single-eye camera.
  • the technology described in Non-Patent Document 1 detects a silhouette (outer shape) of a person from image data, and extracts a ShapeContext histogram, which is one of shape feature quantities, from the silhouette.
  • the discriminator is configured for each posture of motion to be identified, using the variance-covariance matrix of the extracted histogram as an input. Thereby, the prior art can estimate the posture state of the person regardless of the position and the direction of the person.
  • An object of the present invention is to provide a posture state estimation device and a posture state estimation method capable of accurately estimating the posture state of an object having a joint.
  • the posture state estimation device is a posture state estimation device that estimates a posture state of the object based on image data obtained by photographing an object having a plurality of regions connected by joints, A likelihood map generation unit configured to generate a likelihood map indicating a distribution of likelihood that each part is positioned for at least two or more parts, and the likelihood map previously associated with the posture state When the degree of coincidence between the learning likelihood map and the estimated likelihood map which is the likelihood map generated based on the image data is high, the posture state associated with the learning likelihood map is the object state And a posture state estimation unit for estimating the posture state.
  • the posture state estimation method is a posture state estimation method for estimating a posture state of the object based on image data obtained by photographing an object having a plurality of regions connected by joints. Generating a likelihood map indicating a distribution of likelihood that each part is positioned for at least two or more parts, and learning likelihood map which is the likelihood map previously associated with the posture state Determining the degree of coincidence with the estimated likelihood map that is the likelihood map generated based on the image data, and when the degree of coincidence is high, the posture state associated with the learning likelihood map Estimating as the posture state of the object.
  • the posture state of an object having a joint can be estimated with high accuracy.
  • position state estimation apparatus based on Embodiment 1 of this invention which concerns on Embodiment 1 of this invention Diagram for explaining image data in the first embodiment
  • a flowchart showing an example of the operation of the posture state estimation apparatus according to the first embodiment Flow chart showing an example of estimation phase processing in the first embodiment Diagram for explaining the omega shape in the first embodiment
  • compatible table in this Embodiment 1. A diagram showing an example of the content of the part / region correspondence table according to the first embodiment
  • a diagram showing an example of a case where it is determined that the designated posture is in Embodiment 1.
  • Block diagram showing an example of the configuration of the posture state estimation apparatus according to Embodiment 2 of the present invention A flowchart showing an example of the operation of the posture state estimation device according to the second embodiment Flow chart showing an example of learning phase processing in the second embodiment
  • position state estimation apparatus based on Embodiment 3 of this invention The figure for demonstrating the relationship between the posture of the person based on this Embodiment 3, and the brightness of each site
  • Embodiment 1 The first embodiment of the present invention is an example in which the present invention is applied to an apparatus for estimating whether the posture state of a photographed person matches the posture state designated by the user.
  • site refers to a group of parts of the human body divided by joints. That is, the sites are, for example, the head, shoulders, upper right arm, right forearm, upper left arm, left forearm, right upper knee, right lower knee, left upper knee, and left lower knee.
  • site region is a region that can be occupied by a site in the image, that is, the movable range of the site.
  • the "posture state” to be estimated refers to the posture of two or more parts to be focused (hereinafter referred to as "target parts"). Further, the “posture” is represented by information such as the position of a joint connecting the target site in a two-dimensional coordinate system or a three-dimensional coordinate system, or the length of each related site and the angle between the sites I assume. Therefore, “posture state estimation” means estimating a posture state by estimating these pieces of information.
  • the above-mentioned position, length, and angle may be expressed by relative values based on a predetermined body part of a person, or may be expressed by absolute values in a two-dimensional coordinate system or a three-dimensional coordinate system. .
  • a group of a plurality of pixels corresponding to a predetermined size may be regarded as one pixel, and the same processing may be performed. Thereby, processing can be performed at high speed.
  • the value of the pixel serving as the center of gravity of the plurality of pixels may be used as the value of the plurality of pixels, or the average value of the values of the plurality of pixels is used for the plurality of pixels. It may be used as a value.
  • FIG. 1 is a block diagram showing an example of the configuration of a posture state estimation apparatus according to Embodiment 1 of the present invention. For simplicity of explanation, peripheral devices of the posture state estimation device are also illustrated.
  • posture state estimation apparatus 100 includes posture state management unit 110, posture state designation unit 120, image data acquisition unit 130, region region estimation unit 140, likelihood map generation unit 150, and posture state estimation unit 160. .
  • the posture state management unit 110 previously stores, for each posture state, identification information of the posture state, identification information of two or more target parts specified for the posture state, and a likelihood map in association with each other.
  • the likelihood map is a distribution of likelihood (likelihood) that each target portion is positioned on the image, and the details will be described later.
  • the posture state only the posture state in which the information is stored in the posture state management unit 110 is referred to as “the posture state”.
  • the likelihood map associated with the posture state and stored in advance in the posture state management unit 110 is referred to as a “learning likelihood map”.
  • Posture state designation unit 120 receives a designation of a posture state to be a target of estimation from the user via an input device (not shown) such as a keyboard. Specifically, the posture state designation unit 120 creates a list of posture states with reference to, for example, the posture state management unit 110, and receives the designation of the posture states by displaying the list as options. For example, the posture state designation unit 120 receives designation of a posture state that "the right arm is bent”. Then, posture state designation unit 120 outputs identification information of the specified posture state to part region estimation unit 140 and posture state management unit 110.
  • identification information of the designated posture state and the designated posture will be collectively referred to as "designated posture”.
  • posture state designation unit 120 outputs two or more focused parts associated with the designated posture to part region estimation unit 140.
  • the posture state designation unit 120 outputs the “upper right arm” and the “right forearm” for the posture state “the right arm is bent”.
  • the target portion associated with the designated posture is referred to as a “designated portion”.
  • the image data acquisition unit 130 acquires image data of an image captured by the single-eye camera 200 installed in a predetermined three-dimensional coordinate space by wired communication or wireless communication, and outputs the image data to the part region estimation unit 140.
  • the image data is described as including only one image. However, the image data may include images of a plurality of people or may not include human images.
  • FIG. 2 is a diagram for explaining image data.
  • a three-dimensional coordinate system 410 having an origin O as a position where the position of the single-eye camera 200 is projected on the ground is set.
  • the vertical direction is the Y axis
  • the Y axis and the direction orthogonal to the optical axis 411 of the single-eye camera 200 are the X axis
  • the direction orthogonal to the X axis and the Y axis is the Z axis.
  • the installation angle of the monocular camera 200 is represented by, for example, an angle ⁇ between the Y axis and the optical axis 411. Then, the single-eye camera 200 performs focusing by focusing on a certain plane 412 included in the range of the angle of view ⁇ of the single-eye camera 200. Image data of the image captured in this manner is transmitted to the posture state estimation device 100. Hereinafter, image data to be subjected to estimation of the posture state is referred to as “estimated image data”.
  • the part region estimation unit 140 of FIG. 1 estimates the part region of the designated portion input from the posture state designation unit 120 based on the estimated image data input from the image data acquisition unit 130. Specifically, part region estimation section 140 estimates the position and orientation of a reference part of a person from estimated image data. Then, part region estimation section 140 estimates a part region of each designated portion based on the estimated position and orientation of the reference portion.
  • part region estimation unit 140 outputs estimated image data, a designated posture, and information indicating a part region for each designated portion (hereinafter referred to as “part region data”) to likelihood map generation unit 150.
  • the likelihood map generation unit 150 generates a likelihood map from the estimated image data input from the part region estimation unit 140. At this time, the likelihood map generation unit 150 lowers the likelihood that the designated region corresponding to the region will be located for regions other than the region indicated by the region data input from the region estimation unit 140. Generate a likelihood map. In such a likelihood map, only the likelihood of the movable range of the target part of the designated posture (for example, "upper right arm” and “right forearm” in the case of the posture state "right arm is bent") is high It becomes such information. Then, likelihood map generation section 150 outputs the generated likelihood map to posture state estimation section 160 together with the designated posture input from part region estimation section 140.
  • the likelihood map generated based on the estimated image data is referred to as “estimated likelihood map”.
  • Posture state estimation unit 160 obtains a learning likelihood map associated with the designated posture input from likelihood map generation unit 150 from posture state management unit 110.
  • the posture state management unit 110 may output the learning likelihood map to the posture state estimation unit 160 in response to an instruction from the posture state estimation unit 160.
  • posture state estimation unit 160 estimates the specified posture when the degree of coincidence between the acquired learning likelihood map and the estimated likelihood map input from likelihood map generation unit 150 is high. It is estimated as the posture state of the person included in the image data. That is, posture state estimation unit 160 estimates that the person photographed by single-eye camera 200 has taken the posture state specified by the user. Then, the posture state estimation unit 160 transmits information to the information output device 300 such as a display device by wired communication or wireless communication, and notifies the user of the estimation result.
  • the information output device 300 such as a display device by wired communication or wireless communication
  • the posture state estimation device 100 is a computer including storage media such as a CPU (central processing unit) and a RAM (random access memory). That is, the posture state estimation device 100 operates when the CPU executes a control program to be stored.
  • a CPU central processing unit
  • RAM random access memory
  • Such a posture state estimation apparatus 100 uses a likelihood map indicating the distribution of likelihood for each part, for example, even when the right arm is accommodated in the outer shape of the trunk on the image, "the right arm is bent" It can be determined whether or not it is in the following posture state. That is, the posture state estimation device 100 can estimate the posture state of a person with high accuracy as compared with the prior art.
  • posture state estimation apparatus 100 estimates a part region which is a movable region of a designated part and lowers the likelihood value for regions other than the part region, the accuracy of the likelihood map can be improved.
  • FIG. 3 is a flowchart showing an example of the operation of the posture state estimation device 100.
  • part region estimation section 140 determines whether or not there is an instruction for posture state estimation. For example, when a new posture state is specified in posture state designation unit 120 or when new estimated image data is input to image data acquisition unit 130, part region estimation unit 140 Judge that there was an instruction. Part region estimation unit 140 proceeds to step S4000 when there is a posture state estimation instruction (S3000: YES). If there is no posture state estimation instruction (S3000: NO), part region estimation section 140 proceeds to step S5000.
  • a posture state estimation instruction S3000: YES
  • step S4000 posture state estimation apparatus 100 executes estimation phase processing for estimating posture state, and proceeds to step S5000. Details of the estimation phase process will be described later.
  • step S5000 part region estimation unit 140 determines whether an instruction to end processing has been issued by user operation or the like. When there is no instruction to end the process (S5000: NO), part region estimation section 140 returns to step S3000, and continues waiting for an instruction for posture state estimation. In addition, part area estimation unit 140 ends a series of processing when there is an instruction to end processing (S5000: YES).
  • FIG. 4 is a flowchart showing an example of the estimation phase process (step S4000 in FIG. 3).
  • posture state designation unit 120 receives designation of a posture state from the user, acquires a designated posture, and acquires a designated part corresponding to the designated posture.
  • part region estimation unit 140 acquires estimated image data from monocular camera 200 via image data acquisition unit 130.
  • the estimated image data may be still image data constituting moving image data continuously captured in real time by the single-eye camera 200, or image data captured and stored in advance.
  • step S4300 part region estimation section 140 performs processing for estimating the position and orientation of the reference part (hereinafter referred to as “reference part estimation processing").
  • the reference part estimation process is roughly divided into a first process of estimating a person's shoulder joint position and a second process of estimating a person's torso direction.
  • the part region estimation unit 140 detects an omega shape from the estimated image data, and estimates a shoulder joint position based on the omega shape.
  • FIG. 5 is a diagram for explaining the omega shape.
  • the omega ( ⁇ ) shape is a characteristic edge shape of a region including the head and shoulders of a person, and among human bodies, the probability of being most stably photographed when using a surveillance camera or the like is high. It is a shape. In addition, the head and the shoulder have little change in the relative position with the human torso. Therefore, the part region estimation unit 140 detects the omega shape first to detect the positions of the head and shoulders of the person, and estimates the part region of the other part with reference to these, thereby achieving high accuracy of the part region. Estimate.
  • Omega shapes can be detected, for example, using a detector made by Real AdaBoost, etc., using a sufficient number of sample images.
  • a feature amount used for the detector for example, a histogram of gradient (HoG) feature amount, a Sparse feature amount, a Haar feature amount, or the like can be used.
  • HoG histogram of gradient
  • Sparse feature amount a Sparse feature amount
  • Haar feature amount or the like.
  • Boosting method for example, in addition to the Boosting method, it is also possible to use an SVM (support vector machine), a neural network, or the like.
  • Part region estimation section 140 first detects omega shape 421 from image 420 of the estimated image data.
  • a pixel (a pixel of an edge portion) constituting the omega shape 421 is a digital signal "1" and the other pixels are digital signals "0".
  • a relatively small rectangular area including the omega shape 421 is determined as the omega area 422.
  • the lower side of the omega region 422 is referred to as a reference line 423.
  • the part region estimation unit 140 removes noise included in the omega region 422. Specifically, part region estimation unit 140 corrects digital signal “1” present in the region surrounded by omega shape 421 among the pixels of omega region 422 as digital signal “0” as noise. Do. This correction is possible, for example, by performing a so-called closing process.
  • the closing process is a process of enlarging or reducing the image area at a predetermined pixel ratio or a predetermined ratio. This correction can improve the accuracy of the distance histogram described later.
  • part region estimation section 140 obtains the vertical distance from reference line 423 to omega shape 421 for each position of reference line 423.
  • FIG. 6 is a diagram for explaining the vertical distance from the reference line 423 to the omega shape 421.
  • the part region estimation unit 140 treats the direction of the reference line 423 as the X axis and handles the vertical direction of the reference line 423 as the Y axis.
  • the part region estimation unit 140 sets, for example, the number of pixels from the left end of the reference line 423 as an X coordinate value.
  • part region estimation section 140 acquires the number of pixels in the Y-axis direction from reference line 423 to the pixels forming omega shape 421, that is, the vertical distance to omega shape 421 as vertical distance d (X).
  • the pixels forming the omega shape 421 are, for example, those closest to the reference line 423 among the pixels of the digital signal “1”.
  • part region estimation section 140 generates a distance histogram in which data of n (n is a positive integer) vertical distances d (X) are associated with X coordinates.
  • FIG. 7 is a diagram showing an example of the distance histogram generated by the part region estimation unit 140 based on the omega region 422 shown in FIG.
  • part region estimation section 140 generates distance histogram 430 showing the distribution of vertical distance d (X) in the XY coordinate system, using vertical distance d (X) as the value of the Y axis.
  • the distance histogram 430 swells in a shape corresponding to the shoulder, and of those, it protrudes in a range corresponding to the center of the head.
  • part region estimation section 140 applies a predetermined threshold Th to generated distance histogram 430 to perform binarization processing. Specifically, part region estimation unit 140 replaces the Y coordinate value of the X coordinate at which vertical distance d (X) is equal to or greater than threshold value Th to “1”, and vertical distance d (X) is less than threshold value Th. Replace the Y-coordinate value of X-coordinate, which is The threshold value Th is set with a high probability in the omega region 422 to be larger than the vertical distance d (X) at the upper end of the shoulder and smaller than the vertical distance d (X) at the upper end of the head.
  • the binarization processing is not limited to this, and may be another method such as, for example, so-called Otsu binarization (Otsu method).
  • FIG. 8 shows an example of the result of binarizing the distance histogram 430 shown in FIG.
  • the range 441 of “1” indicates the range of the X coordinate of the image area of the central portion of the head (hereinafter referred to as “head area”). Further, the entire range 442 including the range 441 where “1” is to be shown indicates the range of the X coordinate of the image area of the shoulder (hereinafter referred to as “the shoulder area”). Therefore, part region estimation unit 140 extracts the range in the X axis direction of omega region 422 in image 420 of the estimated image data as the X axis direction range of the shoulder region, and the X axis direction of range 441 which becomes "1". The range is extracted as an X-axis direction range of the head region.
  • the part region estimation unit 140 calculates various parameters indicating the position and the orientation of the reference part based on the extracted shoulder region and head region.
  • FIG. 9 is a diagram for explaining various parameters indicating the reference part.
  • the part region estimation unit 140 uses H (xh, yh), RSE (x_rse), RD (symbols in parentheses as parameters indicating the position of the reference part). It is assumed that x_rd), RS (x_rs, y_rs), RSU (y_rsu), and LS are used.
  • H is the center of gravity of the head.
  • RSE is the position of the end of the right shoulder.
  • RD is the distance in the X-axis direction from the center of gravity of the head to the end of the right shoulder.
  • RS is the position of the right shoulder joint (hereinafter referred to as “right shoulder position”).
  • RSU is at the top of the right shoulder.
  • LS is the position of the left shoulder joint (hereinafter referred to as "left shoulder position").
  • Part region estimation section 140 calculates the value of each parameter, for example, as follows.
  • the part region estimation unit 140 determines the right shoulder region based on whether or not a person (body) is facing the monocular camera 200 from the shoulder region extracted based on the result of the binarization processing. .
  • the part region estimation unit 140 determines whether the person is facing the monocular camera 200 based on whether the skin color component of the color information of the head region is equal to or more than a predetermined threshold.
  • a predetermined threshold it is assumed that a person is facing the monocular camera 200, and the left shoulder region toward the image is determined to be the right shoulder region.
  • part region estimation section 140 calculates the barycentric position of the right shoulder region as right shoulder position RS (x_rs, y_rs). Further, the part region estimation unit 140 calculates the barycentric position H (xh, yh) of the head, and the distance in the Y axis direction between the barycentric position H (xh, yh) and the omega shape 421 (hereinafter referred to as “head The right shoulder position RS (x_rs, y_rs) may be calculated using the height ⁇ h ′ ′).
  • the part region estimation unit 140 sets a value that is a predetermined ratio to the head height ⁇ h as a distance from the center of gravity H of the head to the right shoulder position RS in the X axis direction. It should be (xh-x_rs).
  • the part region estimation unit 140 may set a position lower than the shoulder height by a value ⁇ h / 2 that is half the head height ⁇ h as the Y coordinate y_rs of the right shoulder position RS.
  • part region estimation section 140 calculates a point at which the inclination of the edge of omega shape 421 (that is, the change rate of the distance histogram) exceeds a threshold as position RSE (x_rse) of the end of the right shoulder. Then, part region estimation section 140 calculates distance RD (x_rd) in the X-axis direction between center-of-gravity position H of the head and position RSE of the end of the right shoulder.
  • part region estimation unit 140 similarly calculates the left shoulder position LS.
  • the calculation method of each parameter is not limited to the above-mentioned example.
  • the part region estimation unit 140 holds a reference part correspondence table in advance.
  • the reference part correspondence table is a combination of the center of gravity H of the head, the right shoulder position RS, and the left shoulder position LS (hereinafter referred to as “reference part position”), and the orientation of the body estimated from the position of the reference part This table is described in association with (hereinafter referred to as "direction of reference part”). That is, the reference part table is a table describing the relative positional relationship of each part.
  • part is an omega-shaped part which shows a human head and a shoulder part as mentioned above. Therefore, the orientation of the reference part is the orientation of the human body (body).
  • the part region estimation unit 140 derives the orientation of the reference part corresponding to the position of the reference part calculated from the estimated image data from the reference part correspondence table.
  • part region estimation unit 140 sets the center of gravity position H of the head as an origin, and the length between the center of gravity position H of head and right shoulder position RS or left shoulder position LS is 1 Use the normalized values to derive the quasi-site orientation.
  • the right shoulder position RS and the left shoulder position LS may be described in the reference part correspondence table.
  • a line passing through the center of gravity H of the head and the right shoulder position RS or the left shoulder position LS and a vertical straight line passing through the center of gravity H of the head (hereinafter referred to as "head vertical line" The angle formed by) may be described.
  • the reference part correspondence table describes the distance between the center of gravity H of the head and the left shoulder LS when the distance between the center of gravity H of the head and the right shoulder position RS is 1. It is good.
  • the part region estimation unit 140 derives the direction of the reference part by calculating parameters corresponding to the parameters described in the reference part correspondence table.
  • FIG. 10 is a diagram showing an example of the content of the reference portion correspondence table.
  • the reference part correspondence table 450 describes the projection angle 452, the coordinates 453 of the left shoulder position LS, the coordinates 454 of the center of gravity H of the head, and the direction 455 of the reference part in association with the identifier 451.
  • Each coordinate is expressed, for example, using a predetermined two-dimensional coordinate system parallel to the two-dimensional coordinate system of the screen, with the right shoulder position RS as the origin.
  • the projection angle 452 is, for example, an angle of the predetermined two-dimensional coordinate system (that is, the installation angle ⁇ shown in FIG. 2) with respect to the XZ plane of the three-dimensional coordinate system 410 described in FIG.
  • the orientation 455 of the reference portion is represented by, for example, a rotation angle with respect to each of the XYZ axes of the three-dimensional coordinate system 410 described in FIG.
  • part region estimation section 140 estimates the position and orientation of the reference part. This is the end of the description of the reference part estimation process.
  • step S4400 in FIG. 4 the part region estimation unit 140 estimates the part region for each designated part based on the estimated position and orientation of the reference part (hereinafter referred to as "part region estimation processing"). Do.
  • the part region estimation unit 140 holds a part region correspondence table in advance.
  • the part region correspondence table is a table in which the position and the direction of the reference part are described in association with the part regions of the other parts.
  • the part region estimation unit 140 derives a part region of the designated part corresponding to the position and the orientation of the reference part estimated from the estimated image data from the part region correspondence table.
  • the part region is defined, for example, by the pixel position of the image of the estimated image data. Therefore, the part region estimation unit 140 determines whether each pixel belongs to a part region of any designated portion with respect to all the pixels of the entire image of the estimated image data.
  • FIG. 11 is a diagram showing an example of the content of the part / region correspondence table.
  • the part region correspondence table 460 associates the position 463 of the head and shoulder area (reference part), the direction 464 of the head and shoulder area (reference part), and the area 465 of each part in correspondence with the identifier 461. Describe.
  • Each position and area are represented, for example, by values of a two-dimensional coordinate system of an image.
  • the projection angle 462 is, for example, an angle of the predetermined two-dimensional coordinate system (that is, the installation angle ⁇ shown in FIG. 2) with respect to the XZ plane of the three-dimensional coordinate system 410 described in FIG.
  • the position 463 of the head and shoulder area is, for example, the right shoulder position RS.
  • the orientation 464 of the head and shoulder region is represented by, for example, a rotation angle with respect to each of the XYZ axes of the three-dimensional coordinate system 410 described in FIG.
  • the direction 464 of the head and shoulder area may not necessarily be described in the part area correspondence table 460.
  • the region 465 of each portion is represented by, for example, the center coordinates and the radius of the circle when the region is approximated by a circle.
  • the part region estimation unit 140 may not necessarily use the part region correspondence table 460 when obtaining a part region.
  • the part region estimation unit 140 uses the various other body constraint information from the orientation of the reference part derived from the reference part correspondence table 450 (see FIG. 10) to set each part region, for example, from the reference part. It may be calculated dynamically in the order of connection.
  • the body constraint information is information including constraints regarding the position of each part.
  • part region estimation unit 140 sends information indicating whether or not it is a part region of a designated portion for each pixel to the likelihood map generation unit 150 as portion region data for all pixels of the entire image of the estimated image data. Output.
  • the part region data may have, for example, a structure in which pixel information Kij indicating whether or not the part region of any designated part corresponds to all pixel positions (i, j) of the estimated image data.
  • each element of the pixel information Kij takes “1” when it belongs to the part region of the corresponding designated part, and takes “0” when it does not belong to it.
  • k1 corresponds to the region of the right upper arm
  • k2 corresponds to the region of the right forearm.
  • the part area data may indicate which part area of the designated part corresponds to each part area preset in the image, or the coordinates of the outer edge of the part area may be indicated for each designated part. good.
  • the part area correspondence table describes the part area corresponding to the normalized reference part. Further, other information such as the right shoulder position RS and the left shoulder position LS may be described in the region region data, as in the case of the reference region correspondence table described above.
  • the part region estimation unit 140 derives a part region of each designated part by calculating parameters corresponding to the parameters described in the part region correspondence table.
  • FIG. 12 is a diagram showing an example of the content of part region data. Here, in order to simplify the description, the positions of the respective parts in the upright state are illustrated together.
  • the part region data indicates the part region 471 of the upper right arm which is the designated part and the part region 472 of the right forearm which is the designated part. As described above, these region regions 471 and 472 are estimated based on the position and orientation of the previously estimated reference region 473.
  • part region estimation section 140 estimates the part region of each designated portion. This is the end of the description of the part region estimation process.
  • step S4500 in FIG. 4 the likelihood map generation unit 150 generates an estimated likelihood map by calculating the likelihood value for the portion region for each designated portion (hereinafter, “estimated likelihood map generation processing” To do).
  • the likelihood map generation unit 150 determines, from the estimated image data, an image feature suitable for representing the position and direction of the designated portion for each pixel in the portion region of the designated portion, and the designated portion The likelihood value indicating the likelihood of being located is calculated. Then, the likelihood map generation unit 150 generates an estimated likelihood map indicating the distribution of likelihood values of each pixel using the likelihood value calculated from the estimated image data.
  • the likelihood value may be a value normalized to be in the range of 0 to 1, or may be a real number including a positive integer or a negative number.
  • the SIFT feature quantity is a 128-dimensional vector and is a value calculated for each pixel.
  • the SIFT feature amount is particularly effective for detecting a portion that can rotate in various directions, such as an arm, because it is not affected by the scale change, rotation, and translation of an object to be detected. That is, the SIFT feature quantity is suitable for the present embodiment in which the posture state is defined by the relative joint position and angle of two or more target parts.
  • the classifier Hk is generated by the AdaBoost algorithm. That is, until the strong classifier Hk can determine with a desired accuracy whether or not it is the upper right arm and the right forearm with respect to a plurality of learning images prepared for each part in advance. Learning is repeated, and a plurality of weak classifiers are generated by cascading.
  • the likelihood map generation unit 150 calculates the image feature quantity for each designated part and each pixel, the image feature quantity is input to the strong classifier Hk, and the output of each weak classifier constituting the strong classifier Hk is used. On the other hand, for each weak classifier, a sum of values obtained by multiplying the reliability ⁇ obtained in advance is calculated. Then, the likelihood map generation unit 150 subtracts the predetermined threshold value Th from the calculated sum to calculate the likelihood value ck for each designated portion and for each pixel.
  • c1 represents the likelihood value of the upper right arm
  • c2 represents the likelihood value of the right forearm.
  • the likelihood map generation unit 150 determines, for each pixel, whether the pixel is included in any part region, and if it is included, the likelihood value is calculated using the classifier of that part, For example, the likelihood value of that part may be set to zero. In other words, the likelihood map generation unit 150 determines the determinant (K ij) of the pixel information output from the part region estimation unit 140 and the determinant (C ij) of the likelihood value of each pixel calculated independently of the part region. The result of integration of and may be used as a final estimated likelihood map.
  • FIG. 13 is a diagram illustrating an example of the estimated likelihood map. Here, only the likelihood value of one designated part (for example, the upper right arm) of the estimated likelihood map is shown, and the higher the likelihood value, the darker the shaded area is. As shown in FIG. 13, the estimated likelihood map 478 represents the distribution of the likelihood that the designated part is located.
  • the likelihood map generator 150 generates an estimated likelihood map. This completes the description of the estimated likelihood map generation process.
  • step S4600 posture state estimation unit 160 acquires a learning likelihood map corresponding to the specified posture from posture state management unit 110. Then, the posture state estimation unit 160 performs a matching degree determination process of determining whether or not the learning likelihood map and the estimated likelihood map match, based on whether the matching degree is equal to or higher than a predetermined level. Do.
  • Posture state estimation section 160 first binarizes the estimated likelihood map and the learning likelihood map using predetermined threshold values. Specifically, the posture state estimation unit 160 sets the likelihood value of each pixel and each designated part to the digital signal “0” when it is equal to or more than a predetermined threshold, and a digital signal when it is less than the predetermined threshold. Convert to "1".
  • FIG. 14 is a diagram illustrating an example of a state after the estimated likelihood map illustrated in FIG. 13 is binarized.
  • the pixels of the digital signal “1” are represented in gray, and the pixels of the digital signal “0” are represented in white.
  • the estimated likelihood map 479 after binarization represents the distribution of a portion with high likelihood of the designated part being located.
  • posture state estimation unit 160 takes the product of likelihood values binarized for each pixel and for each designated part between the estimated likelihood map and the learning likelihood map, and designates all pixels and all designations.
  • the sum of the values for the site is taken as the evaluation value.
  • posture state estimation section 160 superimposes the estimated likelihood map and the learning likelihood map in a predetermined positional relationship, multiplies the likelihood value information after binarization for each pixel, and multiplies them. Calculate the sum of all pixels and designated parts.
  • Posture state estimation unit 160 shifts the positional relationship of superposition between the estimated likelihood map and the learning likelihood map by movement and rotation, and performs the above-described arithmetic processing on each positional relationship. Then, posture state estimation unit 160 obtains the maximum value among the obtained evaluation values as a final evaluation value representing the degree of coincidence, and when this evaluation value is equal to or greater than a predetermined threshold value, a learning likelihood map and It is determined that the estimated likelihood map matches.
  • a threshold value an appropriate value is set in advance by learning or the like.
  • Posture state estimation section 160 may not necessarily binarize the estimated likelihood map and the learning likelihood map. In this case, posture state estimation section 160 can more accurately determine the degree of coincidence between the learning likelihood map and the estimated likelihood map. When binarization is performed, the posture state estimation unit 160 can determine the degree of coincidence at high speed.
  • posture state estimation section 160 determines the degree of coincidence between the estimated likelihood map and the learning likelihood map. This is the end of the description of the matching degree determination process.
  • posture and state estimation section 160 matches the learning likelihood map and the estimated likelihood map (S4600: YES), processing proceeds to step S4700. Further, if the learning likelihood map and the estimated likelihood map do not match (S4600: NO), posture state estimation section 160 proceeds to step S4800.
  • step S4700 posture state estimation unit 160 notifies the user that the posture of the person included in the target image data is the designated posture via information output device 300, and returns to the processing of FIG.
  • posture state estimation unit 160 notifies the user that the posture of the person included in the target image data is not the designated posture via information output device 300, and returns to the process of FIG. In the case where it is not possible to determine the posture state, such as when a person is not detected from the target image data, the posture state estimation unit 160 may notify that effect.
  • the notification in steps S4700 and S4800 can be performed according to the presence or absence of an output such as a character display, an image display, an audio output, and a vibration output, or a difference in output content.
  • an output such as a character display, an image display, an audio output, and a vibration output, or a difference in output content.
  • posture state estimation apparatus 100 can estimate a part region and generate an estimated likelihood map indicating the distribution of the likelihood for each designated part.
  • the posture state estimation device 100 can estimate the posture state by comparing the generated estimated likelihood map with the learning likelihood map associated with the designated posture.
  • FIG. 15 is a diagram illustrating an example of the case where it is determined that the designated posture is set.
  • the site region 482 to be compared is a range that covers the whole body.
  • the designated site is the whole body area of the person 491, and the site area 492 to be compared is a range including the whole body.
  • the learning likelihood map of the part region 482 based on the learning image 480 shown in FIG. 15A and the estimation likelihood map of the part region 492 based on the estimated image 490 match when relatively moved and rotated. . Therefore, posture state estimation apparatus 100 can determine that the person included in learning image 480 is in the posture state of "upright posture".
  • FIG. 16 is a view showing another example in the case where it is determined that the designated posture is taken.
  • the part region 482 to be compared is a range including the upper right arm and the right forearm.
  • the right arm is bent is designated in the estimated image 490 in the estimation phase.
  • the designated part is the upper right arm and the right forearm of the person 491
  • the part region 492 to be compared is a range including the upper right arm and the right forearm.
  • the learning likelihood map of part region 482 based on learning image 480 shown in FIG. 16A matches the estimation likelihood map of part region 492 based on estimated image 490 when relatively moved and rotated. . Therefore, posture state estimation apparatus 100 can determine that the person included in learning image 480 is in the posture state that “the right arm is bent”.
  • posture state estimation apparatus 100 can accurately perform posture state estimation as described above.
  • posture state estimation apparatus 100 has a posture that “the right arm is bent” even if the postures of parts other than the right arm are different as shown in FIG. 16 (B) to FIG. 16 (E). It can be determined that it is in the state. That is, the posture state estimation apparatus 100 can extract the posture focusing on only the designated part regardless of the postures of other parts.
  • posture state estimation apparatus 100 uses a likelihood map indicating the distribution of likelihoods for each part, it is possible to estimate a person's posture state with high accuracy.
  • posture state estimation apparatus 100 estimates a part region and generates an estimated likelihood map in which the likelihood value is lowered for regions other than part region, the accuracy of the likelihood map is improved and posture state estimation is performed. It can be done with higher accuracy.
  • the posture state estimation apparatus 100 estimates only a certain posture state that is specifically designated. However, among the plurality of posture states, which posture state corresponds to You may make it estimate. In this case, for example, the posture state estimation device 100 may treat all posture states in which the learning likelihood map corresponding to the posture state management unit 110 is stored as the designated posture. Further, the posture state estimation apparatus 100 may handle all posture states as specified postures when execution of posture state estimation is instructed without specifying any posture state.
  • image data used for posture state estimation may be data of an image captured by a stereo camera or a plurality of cameras.
  • the posture state estimation apparatus 100 may use image data captured by one camera and position information of an object obtained from installation parameters of the stereo camera.
  • the posture state estimation apparatus 100 includes image data captured by one of the cameras and position information of an object obtained from installation parameters of each camera. You may use.
  • part region estimation unit 140 may not perform the above-described reference part estimation processing.
  • part region estimation unit 140 may hold body direction information.
  • the method of estimation of the part region performed by the part region estimation unit 140 is not limited to the above-described example.
  • the part area estimation unit 140 extracts an edge part (hereinafter simply referred to as an “edge”) of the image from the estimated image data, and based on the range of Y coordinate values of the area surrounded by the edge, each part area You may estimate Specifically, for example, in the region surrounded by the edge, the part region estimation unit 140 estimates a region from the position with the highest Y coordinate value to 20% as the region of the head.
  • the region estimation unit 140 may set the region of 15% to 65% as the region of the trunk, the region of 55% to 85% as the region of knee, and the region of 75% to 100%. It is estimated as the region under the knee.
  • the part region estimation unit 140 extracts a moving body by taking a background difference between the images, and extracts the entire region including the extracted region. , It may be a candidate of the region of each part. As a result, it is possible to speed up the process when estimating the part region.
  • posture state estimation apparatus 100 estimates the position of a portion one by one in order of proximity to the reference portion, and repeats the processing of estimating the portion region of the next portion based on the estimated position, A part region may be estimated.
  • the posture state estimation unit 160 sets the installation angle ⁇ of the monocular camera 200.
  • the corresponding learning likelihood map may be a comparison target.
  • posture state estimation apparatus 100 does not necessarily have to perform part region estimation.
  • the likelihood map generator 150 uniformly calculates the likelihood value for all the regions of the image.
  • the type of likelihood map handled by the posture state estimation apparatus 100 is not limited to the likelihood map generated by the above-described example.
  • the estimated likelihood map and the learning likelihood map may be generated by extracting parallel lines from edges.
  • the likelihood map generation unit 150 is provided in advance with, for example, a correspondence table in which the length of the shoulder joint and the standard thickness value of each part are associated.
  • the likelihood map generation unit 150 searches a set of parallel lines separated by a distance corresponding to the standard thickness of the part in the part region, while rotating the determination direction by 360 degrees. Then, when there is a corresponding set of parallel lines, likelihood map generation section 150 repeats the process of voting for each pixel in the area surrounded by those parallel lines, and finally the final pixel Generate an estimated likelihood map based on the number of votes.
  • the estimated likelihood map and the learning likelihood map will include the direction of parallel lines and the number of votes (hereinafter referred to as "the likelihood value of the direction") for each pixel and for each designated part.
  • the likelihood value for each pixel and for each designated part is an eight-dimensional value corresponding to eight directions.
  • the distance and angle of the parallel line to be voted may be different for each part.
  • the likelihood map generation unit 150 determines, for each designated part, for example, the direction with the highest likelihood value of the direction as the main edge direction of the designated part. At this time, even if posture state estimation unit 160 takes the sum value of the likelihood values of all pixels for each direction and determines that the direction in which the sum value is the highest is the direction in which the direction likelihood value is the highest. good.
  • posture state estimation section 160 superimposes the estimated likelihood map and the learning likelihood map so that the main edge directions of the designated parts coincide with each other, and calculates the degree of coincidence.
  • the subsequent processing is the same as the method already described in the present embodiment.
  • the method in which the direction of the edge is taken into consideration can add constraints to the positional relationship of superposition between the estimated likelihood map and the learning likelihood map, thereby reducing the processing load.
  • the posture state estimation unit 160 calculates the coincidence of the angles formed by the edge directions of the designated parts among a plurality of designated parts with an evaluation value representing the coincidence of the estimated likelihood map and the learning likelihood map. Do. Then, when the evaluation value is within the predetermined range, posture state estimation unit 160 determines that the posture of the person included in the target image data is the designated posture.
  • the method of determining the degree of coincidence using only the edge direction can eliminate the processing of repeatedly calculating a plurality of evaluation values while rotating the image, thereby further reducing the processing load. .
  • the second embodiment of the present invention is an example in which the generation of a learning likelihood map is performed together in the posture state estimation apparatus.
  • the posture state estimation device according to the present embodiment performs learning phase processing for generating a learning likelihood map, in addition to estimation phase processing for estimating the posture state.
  • FIG. 17 is a block diagram showing an example of the configuration of the posture state estimation apparatus according to Embodiment 2 of the present invention, and corresponds to FIG. 1 of Embodiment 1.
  • the same parts as those in FIG. 1 are denoted by the same reference numerals, and the description thereof is omitted.
  • the posture / state estimation apparatus 100a has a likelihood map generation unit 150a different from that of the first embodiment.
  • the image data acquisition unit 130 and the part region estimation unit 140 in the present embodiment perform the same process as the process for estimated image data on image data input in the learning phase (hereinafter referred to as “learned image data”). Perform and estimate part regions.
  • posture state designation unit 120 in the present embodiment also receives designation of the posture state and the part in the learning phase, and outputs the designated posture and the specified part.
  • the likelihood map generation unit 150a performs the same processing as processing on estimated image data on learning image data, and reduces the likelihood of the designated part corresponding to the part region being located. Generate a map. However, the likelihood map generation unit 150 a stores the likelihood map generated from the learning image data in the posture state management unit 110 as a learning likelihood map, in association with the designated posture and the designated part. Further, the likelihood map generation unit 150a does not output the likelihood map generated from the learning image data to the posture state estimation unit 160.
  • Such posture state estimation apparatus 100a receives learning image data input and designation of posture state and part, generates a learning likelihood map, and estimates posture state for target image data using the generated learning likelihood map It can be performed.
  • FIG. 18 is a flowchart showing an example of the operation of the posture state estimation device 100a, which corresponds to FIG. 3 of the first embodiment. The same steps as in FIG. 3 are assigned the same step numbers, and the explanation thereof is omitted.
  • step S1000a part region estimation section 140 determines whether or not there is an instruction for posture state learning.
  • Posture state learning is, in other words, generation of a learning likelihood map.
  • part region estimation unit 140 specifies a new posture state in posture state designation unit 120, or new estimated image data is input to image data acquisition unit 130.
  • Switching between the learning phase and the estimation phase is performed, for example, by receiving a predetermined operation from the user via an input device (not shown) such as a keyboard.
  • an instruction for posture state learning S1000a: YES
  • part region estimation section 140 proceeds to step S2000a.
  • part region estimation section 140 proceeds to the processing of steps S3000 to S5000 described in the first embodiment.
  • step S2000a posture state estimation apparatus 100 executes learning phase processing for learning posture state, and proceeds to the processing of steps S3000 to S5000 described in the first embodiment.
  • FIG. 19 is a flowchart showing an example of the learning phase process (step S2000a in FIG. 18).
  • the posture state designation unit 120 receives designation of a posture state from the user, acquires a designated posture, and acquires a designated part corresponding to the designated posture. In addition, it is necessary to perform designation from outside of the designated part at least once corresponding to the designated posture.
  • the posture state designation unit 120 stores a set of the designated posture and the designated part, and automatically determines the designated part from the designated posture after the second time, and omits acceptance of designation of the part. Also good.
  • part region estimation unit 140 acquires learning image data from monocular camera 200 via image data acquisition unit 130.
  • the learning image data may be still image data constituting moving image data continuously captured in real time by the single-eye camera 200, or image data captured and stored in advance.
  • the learning image data may not be data of an image obtained by photographing an actual person, but may be data of an image generated by computer graphics (CG) software on a computer.
  • CG computer graphics
  • the image data of the motion capture software can simultaneously acquire three-dimensional posture information of a person, convenience in generating a learning likelihood map can be improved.
  • step S2300a part region estimation section 140 performs processing similar to the reference part estimation processing described in Embodiment 1 on the learning image data to estimate a reference part.
  • step S2400a part region estimation section 140 performs processing similar to the part region estimation processing described in the first embodiment on the learning image data, and estimates a part region for each designated portion.
  • likelihood map generation section 150a performs the same process as the estimated likelihood map generation process described in the first embodiment on the learning image data, and sets likelihood values for part regions for each designated part. To generate a learning likelihood map.
  • step S2600a the likelihood map generation unit 150a causes the posture state management unit 110 to store the generated learning likelihood map in association with the designated part and the designated posture, and returns to the processing of FIG.
  • the likelihood map generation unit 150a In the case where the same posture state is specified for a plurality of learning image data, that is, when there are a plurality of learning likelihood maps having the same specified posture, the likelihood map generation unit 150a generates likelihood values.
  • the posture state management unit 110 may store a learning likelihood map composed of the average value of
  • the posture state estimation device 100a can generate and store a learning likelihood map in response to input of learning image data and designation of a posture state and a part.
  • a learning likelihood map is generated based on a part region 482 shown in FIG. 16A of the first embodiment, and the posture state that “right arm is bent”, “upper right arm” and “right It is stored in association with a part called "forearm".
  • posture state estimation apparatus 100a since posture state estimation apparatus 100a according to the present embodiment generates a learning likelihood map indicating the distribution of likelihood for each part for each posture state, and uses the generated learning likelihood map, It is possible to estimate the posture of a person with high accuracy.
  • the estimated image 490 in FIGS. 16B to 16E is not in the posture state that “the right arm is bent”. It will judge. In order to prevent this in the prior art, it is necessary to prepare learning images and generate a learning likelihood map for all the contours shown in FIGS. 16 (B) to 16 (E). Such exhaustive learning takes time and effort. In addition, as the number of learning likelihood maps stored increases, it also takes time to determine the degree of coincidence. On the other hand, in the case of using the posture state estimation apparatus 100a according to the present embodiment, as described above, learning can be performed on the learning image 480 shown in FIG. 16A, and the number of learning likelihood maps can also be suppressed. .
  • posture state estimation apparatus 100a uses an estimated likelihood map generated by another method such as the estimated likelihood map based on the edge direction described in the first embodiment, the learning likelihood is calculated by the corresponding method. It shall generate a degree map.
  • the application of the present invention is not limited to the estimation of the posture state of the person described in the first embodiment and the second embodiment.
  • the present invention can also be applied to posture state estimation of various objects having a plurality of parts connected by joints, such as robots.
  • the unevenness map is a map in which an image is divided into unevenness of the surface of the subject shown in the image.
  • FIG. 20 is a block diagram showing a main configuration of a posture state estimation apparatus according to Embodiment 3 of the present invention, which corresponds to posture state estimation apparatus 100 in FIG. 1 of Embodiment 1.
  • the same components as in FIG. 1 will be assigned the same reference numerals as in FIG.
  • the posture state estimation apparatus 100b of FIG. 20 further includes an unevenness map estimation unit 145b in addition to the configuration of FIG.
  • the unevenness map estimation unit 145 b generates an unevenness map of each part. More specifically, the unevenness map estimation unit 145 b receives the estimated likelihood map and estimated image data from the likelihood map generation unit 150. Then, the unevenness map estimation unit 145 b generates an unevenness map based on the input information, and outputs the generated unevenness map to the posture state estimation unit 160 b. Details of the method of generating the unevenness map will be described later. Hereinafter, the unevenness map generated from the estimated image data is referred to as "estimated unevenness map".
  • posture state estimation unit 160b holds in advance, for each posture state, a concavo-convex map (hereinafter referred to as “learned concavo-convex map”) learned from the reference model in the posture state.
  • the posture state estimation unit 160b estimates the posture state of the subject based on the degree of coincidence between the estimated unevenness map and the learning unevenness map in addition to the degree of coincidence between the estimated likelihood map and the learning likelihood map. That is, in addition to the operation of the first embodiment, posture state estimation unit 160b further performs matching between the estimated unevenness map and the learning unevenness map.
  • the unevenness map estimation unit 145 b estimates the orientation of the surface of the part from the brightness information of the part on the image.
  • the brightness is, for example, the level of brightness
  • the brightness information is information indicating the brightness or the level of brightness.
  • FIG. 21 is a diagram for explaining the relationship between the posture of a person and the brightness of each part.
  • first posture shown in FIG. 21A and the second posture shown in FIG. 21B are different postures, it is assumed that the silhouettes when viewed from the front are the same as shown in FIG. 21C. In this case, it is not possible to correctly estimate whether the posture of the target person is the first posture or the second posture only from the area information including the edge of the front image.
  • the length of the left leg is shorter than the length of the left arm, so it can be inferred that the left knee may be bent.
  • the left knee may be bent or extended.
  • the posture state estimation device 100b estimates the region of the region using brightness information in addition to the region information, since it corresponds to the posture in which the joint position (division of each region) can not be identified only from such region information. Do.
  • FIG. 21D is a diagram showing the brightness of each portion when the first posture is photographed from the front when natural light from above is used as a light source, as a density.
  • FIG. 21E is a diagram showing the brightness of each portion when the second posture is photographed from the front, when natural light from above is used as a light source, as a density.
  • the higher the density the lower the brightness (darker).
  • five levels of "-2, -1, 0, 1, 2" are defined as the brightness in order from the darker level.
  • the level "0" is, for example, the level of brightness of the surface perpendicular to the ground.
  • the brightness level of each area of the image becomes brighter as the area of the surface facing upward, and conversely, becomes darker as the area of the surface pointing downward.
  • the area of the head, torso, and left arm is at level “0”, and the area of the right leg is somewhat dark It becomes level "-1".
  • the upper right arm In the first posture, the upper right arm is lowered vertically and the right forearm extends forward, so the area of the upper right arm is at level "0" and the area of the right forearm is as shown in D of FIG. It becomes level "2".
  • the upper right arm In the second posture, the upper right arm is pulled backward and the right forearm is directed downward, so that the area of the upper right arm becomes level "-2" as shown in FIG. 21E. The area is level "2".
  • the entire left foot extends forward, so the regions above the left knee and below the left knee become level “1” as shown in FIG. 21D.
  • the area of the left thigh becomes level “2” and the left knee The area is level "-2”.
  • each part can be regarded as a plane of the same brightness. Therefore, the position of the part can be estimated from the brightness information of the part on the image.
  • FIG. 22 steps in common with FIG. 4 of the first embodiment are assigned the same step numbers as in FIG. 4 and descriptions thereof will be omitted.
  • the unevenness map estimation unit 145 b performs estimated unevenness map generation processing.
  • the estimated unevenness map generation process is a process of generating an estimated unevenness map from the estimated image data acquired in S4200 and the estimated likelihood map generated in S4500.
  • FIG. 23 is a diagram showing a processing flow of the unevenness map generation processing (step S4510 b in FIG. 22).
  • pk is binary information, and the value of pk takes, for example, either 0 indicating that there is no possibility of being part k or 1 indicating that there is a possibility of part k.
  • the unevenness map estimation unit 145b selects one part to be processed. For example, when the right arm is to be subjected to the unevenness map generation processing, the unevenness map estimation unit 145b first selects the right forearm that is most distant from the main part.
  • the unevenness map estimation unit 145b acquires a region of the part selected in S6100b (hereinafter referred to as a part likelihood region) from the estimated likelihood map generated in S4500.
  • a region likelihood region pixels in which the likelihood of the right forearm on the estimated likelihood map exceeds a predetermined threshold value are extracted as a region likelihood region of the right forearm.
  • the unevenness map estimation unit 145b extracts brightness information of the region likelihood region extracted in S6200b from the estimated image data acquired in S4200.
  • the brightness information may be extracted, for example, by converting only the luminance (brightness of pixels) from the RGB value of each pixel constituting the estimated image data into a gray scale (black and white gradation) image. it can.
  • the unevenness map estimation unit 145b groups the brightness information of the part likelihood area obtained in S6300b using the brightness threshold.
  • the unevenness map estimation unit 145 b may set the threshold of brightness as a preset fixed value or may set it dynamically.
  • an example of a method of dynamically setting the threshold will be described.
  • FIG. 24 is a diagram for describing a method of area classification using the body constraint of the right forearm. In order to simplify the explanation, it will be described that the torso has only the right arm.
  • a head-shoulder area and a torso area 501b connected thereto are estimated based on the estimated right shoulder position 500b.
  • the region where the right upper arm and the right forearm can exist is as in the region 502b
  • the region where only the right forearm can exist is as the region 503b.
  • the regions 502b and 503b can be calculated from, for example, the region-region correspondence table shown in FIG.
  • the unevenness map estimation unit 145b first extracts the luminance value (brightness information) of the pixels present in the region from the region 503b in which only the right forearm can exist among the region likelihood regions for the right forearm.
  • the unevenness map estimation unit 145 b removes n pieces from the smallest ones and n pieces from the largest ones from the extracted data of the luminance value. Furthermore, the unevenness map estimation unit 145 b treats the minimum value and the maximum value of the data (the number of data is m ⁇ 2 n) after removing the 2n pieces of data as the threshold value of the brightness information of the right forearm The upper limit value and the lower limit value of the range of luminance values).
  • a is a value set in advance.
  • the unevenness map estimation unit 145 b determines that the right forearm, for example, of the unevenness vector Oij of the pixel that satisfies this threshold (that is, within the range of the brightness value treated as the right forearm) in the part likelihood region of the right forearm. Is set to a value (for example, 1) indicating that it may be the right forearm.
  • the unevenness map estimation unit 145 b sets the threshold value of the luminance value using only the brightness information of the part likelihood area in which only the right forearm exists due to the physical restriction. As a result, the unevenness map estimation unit 145b can specify a pixel having the brightness information of the right forearm without being affected by other parts.
  • the unevenness map estimation unit 145 b extracts the luminance value (brightness information) of the pixel from the region 502 b in which only the upper right arm and the right forearm can exist in the region likelihood region of the right forearm.
  • the unevenness map estimation unit 145 b deletes, from the extracted data of the brightness value, the one that fits the threshold value of the brightness information of the right forearm obtained in the previous step. Then, assuming that b% of the total number p of the remaining luminance value data is q, the unevenness map estimation unit 145 b generates q pieces from the smallest and q pieces from the largest from the extracted luminance value data. except for.
  • the unevenness map estimation unit 145 b treats the minimum value and the maximum value of the data (the number of data is p ⁇ 2 q) after removing these 2 q pieces of data as the threshold value of the brightness information of the upper right arm (the right forearm The upper limit value and the lower limit value of the range of luminance values).
  • the value of b is a value set in advance.
  • the unevenness map estimation unit 145 b determines, for example, the upper right arm of the unevenness vector Oij of the pixel that satisfies this threshold (that is, within the range of the brightness value treated as the upper right arm) in the region likelihood region of the right forearm.
  • this threshold that is, within the range of the brightness value treated as the upper right arm
  • a value for example, 1 indicating that there is a possibility of being the upper right arm is set.
  • the unevenness map estimation unit 145b removes the threshold value by excluding data in the range of the brightness value treated as the right forearm from the data of the brightness information of the region likelihood area in which only the right upper arm and the right forearm exist due to the physical restriction.
  • the unevenness map estimation unit 145b can specify the pixel having the brightness information of the upper right arm without being influenced by the other part, and can specify the pixel having the brightness information of the upper right arm with high accuracy.
  • the unevenness map estimation unit 145 b sequentially sets the threshold of the brightness information using the brightness information of the area where only the site exists, from the site distant from the main site, and the brightness information for each site Group to estimate the area.
  • the unevenness map estimation unit 145b extracts, for example, luminance information of pixels present in the area 502b in which only the upper right arm and the right forearm can exist among the part likelihood areas of the right forearm and the upper right arm. A process of classifying into two groups of the forearm and the upper right arm may be performed. Then, the unevenness map estimation unit 145 b sets the above-described threshold value using, for example, Otsu's binarization. Thereby, the unevenness map estimation unit 145b can set the threshold value of the brightness information of the upper right arm and the right forearm even when there is no region likelihood area of the right forearm in the area 503b where only the right forearm can exist.
  • the unevenness map estimation unit 145 b may set, for example, the same value as the right forearm with respect to the brightness information of the upper right arm. Thereby, the unevenness map estimation unit 145 b can set the brightness information of the upper right arm even when the directions of the surfaces of the upper right arm and the right forearm are similar (when extending straight).
  • the unevenness map estimation unit 145 b determines whether or not all of the parts to be subjected to the unevenness map generation process have been processed. For example, in the case of generating the estimated unevenness map also for the left arm, the unevenness map estimation unit 145 b returns to S6100 b, and performs the same process as the right arm for the left arm.
  • the unevenness map estimation unit 145 b outputs the generated estimated unevenness map to the posture state estimation unit 160 b.
  • posture state estimation section 160 b performs matching between the learning likelihood map and the estimated likelihood map, and thereafter performs matching between the learning unevenness map and the estimated unevenness map. Then, posture state estimation section 160b determines, as in the first embodiment, whether the estimated likelihood map matches any of the learning likelihood maps.
  • posture state estimation unit 160b determines the degree of coincidence of likelihood for each pixel between the estimated concavo-convex map and the learning concavo-convex map. evaluate. For example, the posture state estimation unit 160b counts the pixels having the same identifier for all the pixels, and determines that the matching degree with the estimated unevenness map is high with respect to the learning unevenness map having the largest count value. Note that, as in the case of the likelihood map, the posture state estimation unit 160b may perform the matching process after performing the scaling process on the image area when the sizes are different.
  • the posture state estimation apparatus 100b since the posture state estimation apparatus 100b according to the present embodiment generates a concavo-convex map and uses the matching of the concavo-convex map in combination, the accuracy of posture estimation can be further improved.
  • the present embodiment may be applied to posture state estimation apparatus 100a according to the second embodiment. That is, similar to the generation of the learning likelihood map, the learning unevenness map may be generated.
  • the posture state estimation device and the posture state estimation method according to the present invention are useful as a posture state estimation device and a posture state estimation method capable of estimating the posture state of an object having a joint with high accuracy.
  • Attitude state estimation device 110 Attitude state management unit 120 Attitude state designation unit 130 Image data acquisition unit 140 Part region estimation unit 145b Irregularity map estimation unit 150, 150a Likelihood map generation unit 160, 160b Attitude state estimation unit 200 Single-lens camera 300 information output device

Abstract

 関節を有する物体の姿勢状態を高精度に推定することができる姿勢状態推定装置。姿勢状態推定装置(100)は、関節により接続された複数の部位を有する物体を撮影した画像データに基づいて物体の姿勢状態の推定を行う装置であって、画像データから、少なくとも2つ以上の部位について、各部位が位置することの尤もらしさの分布を示す尤度マップを生成する尤度マップ生成部(150)と、姿勢状態に予め対応付けられた尤度マップである学習尤度マップと、画像データに基づいて生成された尤度マップである推定尤度マップとの一致度が高いとき、その学習尤度マップと対応付けられた姿勢状態を、物体の姿勢状態として推定する姿勢状態推定部(160)とを有する。

Description

姿勢状態推定装置および姿勢状態推定方法
 本発明は、関節により接続された複数の部位を有する物体を撮影した画像データに基づいて物体の姿勢状態を推定する姿勢状態推定装置および姿勢状態推定方法に関する。
 近年、撮影された動画像の画像データに基づく人の姿勢推定に関する研究が、盛んに行われている。なぜなら、動画像から人の行動をコンピュータ解析により判定することができれば、各種の分野において行われている行動解析を、人手に頼らずに行うことが可能となるからである。行動解析としては、例えば、街頭での異常行動検知、店舗での購買行動分析、工場における作業効率化支援、およびスポーツにおけるフォーム指導が挙げられる。
 そこで、単眼カメラにより撮影された画像データに基づいて、人の姿勢状態を推定する技術が、例えば非特許文献1に記載されている。非特許文献1に記載の技術(以下「従来技術」という)は、画像データから人のシルエット(外形)を検出し、そのシルエットから、形状特徴量の1つであるShapeContextヒストグラムを抽出する。そして、従来技術は、抽出したヒストグラムの分散共分散行列を入力として、識別すべき動作の姿勢毎に識別器を構成する。これにより、従来技術は、人の位置や向きによらずに人の姿勢状態を推定する事ができる。
下坂正倫、佐藤真、森武俊、佐藤知正、「単眼画像からの形状特徴を用いた動作認識法」、全国大会講演論文集 第70回平成20年(5)、社団法人情報処理学会、2008年3月13日、p.5-93、p.5-94、 P. Viola and M. Jones, "Rapid Object Detection Using a Boosted Cascade of Simple Features," in Proc. of CVPR, vol.1, December, 2001, ppp.511-518
 しかしながら、従来技術は、シルエットが類似する複数の姿勢状態を区別することができないため、人の姿勢状態を高精度に推定することができないという課題がある。例えば、カメラから見て人の胴体の外形に両腕が収まっている場合を想定する。この場合、従来技術によれば、腕を縮めているか伸ばしているかによらず、また、腕が前に位置するか後ろに位置するかによらず、他の頭部や足の外形を含めた全体の外形が同じであれば、推定結果は同一の姿勢状態となってしまう。
 また、従来技術を用いて、ロボット等の、関節により接続された複数の部位を有する各種の人以外の物体についてもその姿勢状態を推定することが考えられるが、同様の問題が起こり得る。
 本発明の目的は、関節を有する物体の姿勢状態を高精度に推定することができる姿勢状態推定装置および姿勢状態推定方法を提供することである。
 本発明の姿勢状態推定装置は、関節により接続された複数の部位を有する物体を撮影した画像データに基づいて前記物体の姿勢状態の推定を行う姿勢状態推定装置であって、前記画像データから、少なくとも2つ以上の前記部位について、各部位が位置することの尤もらしさの分布を示す尤度マップを生成する尤度マップ生成部と、前記姿勢状態に予め対応付けられた前記尤度マップである学習尤度マップと、前記画像データに基づいて生成された前記尤度マップである推定尤度マップとの一致度が高いとき、当該学習尤度マップと対応付けられた前記姿勢状態を、前記物体の姿勢状態として推定する姿勢状態推定部とを有する。
 本発明の姿勢状態推定方法は、関節により接続された複数の部位を有する物体を撮影した画像データに基づいて前記物体の姿勢状態の推定を行う姿勢状態推定方法であって、前記画像データから、少なくとも2つ以上の前記部位について、各部位が位置することの尤もらしさの分布を示す尤度マップを生成するステップと、前記姿勢状態に予め対応付けられた前記尤度マップである学習尤度マップと、前記画像データに基づいて生成された前記尤度マップである推定尤度マップとの一致度を判定するステップと前記一致度が高いとき、当該学習尤度マップと対応付けられた前記姿勢状態を、前記物体の姿勢状態として推定するステップとを有する。
 本発明によれば、関節を有する物体の姿勢状態を高精度に推定することができる。
本発明の実施の形態1に係る本発明の実施の形態1に係る姿勢状態推定装置の構成の一例を示すブロック図 本実施の形態1における画像データを説明するための図 本実施の形態1に係る姿勢状態推定装置の動作の一例を示すフローチャート 本実施の形態1における推定フェーズ処理の一例を示すフローチャート 本実施の形態1におけるオメガ形状を説明するための図 本実施の形態1における基準線からオメガ形状までの垂直距離を説明するための図 本実施の形態1における距離ヒストグラムの一例を示す図 本実施の形態1における2値化後の距離ヒストグラムの一例を示す図 本実施の形態1における基準部位を示す各種パラメータを説明するための図 本実施の形態1における基準部位対応テーブルの内容の一例を示す図 本実施の形態1における部位領域対応テーブルの内容の一例を示す図 本実施の形態1における部位領域データの内容の一例を示す図 本実施の形態1における推定尤度マップの一例を示す図 本実施の形態1における2値化後の推定尤度マップの一例を示す図 本実施の形態1において指定姿勢であると判定される場合の一例を示す図 本実施の形態1において指定姿勢であると判定される場合の他の例を示す図 本発明の実施の形態2に係る姿勢状態推定装置の構成の一例を示すブロック図 本実施の形態2に係る姿勢状態推定装置の動作の一例を示すフローチャート 本実施の形態2おける学習フェーズ処理の一例を示すフローチャート 本発明の実施の形態3に係る姿勢状態推定装置の要部構成を示すブロック図 本実施の形態3に係る人の姿勢と各部位の明るさとの関係を説明するための図 本実施の形態3に係る姿勢状態推定装置の処理フローの一例を示す図 本実施の形態3に係る凹凸マップ生成処理の処理フローの一例を示す図 本実施の形態3に係るエリア分類の手法を説明するための図
 以下、本発明の各実施の形態について、図面を参照して詳細に説明する。
 (実施の形態1)
 本発明の実施の形態1は、本発明を、撮影された人の姿勢状態が、ユーザが指定した姿勢状態に一致しているか否かを推定する装置に適用した例である。
 以下の説明において、「部位」とは、人の身体のうち関節によって分割された部分の一まとまりをいうものとする。すなわち、部位は、例えば、頭、肩、右上腕、右前腕、左上腕、左前腕、右膝上、右膝下、左膝上、および左膝下である。また、「部位領域」とは、画像においてある部位が占め得る領域、つまり、部位の可動範囲であるものとする。
 また、推定の対象となる「姿勢状態」とは、着目すべき2つ以上の部位(以下「着目部位」という)の姿勢をいうものとする。また、「姿勢」とは、2次元座標系または3次元座標系における、着目部位を接続する関節の位置、または、関連する各部位の長さおよび部位間の角度等の情報によって表現されるものとする。したがって、「姿勢状態推定」とは、これらの情報を推定することにより、姿勢状態を推定することをいう。なお、上述の位置、長さ、および角度は、人の所定の身体部位を基準とした相対値により表現されても良いし、2次元座標系または3次元座標系における絶対値により表現されて良い。
 なお、本実施の形態では画素を単位として説明するが、所定のサイズに相当する複数の画素の一まとまりを、それぞれ一つの画素とみなして、同様の処理を行っても良い。これにより、処理を高速に行うことができる。複数の画素をひとつの画素とみなす場合、複数の画素の重心となる画素の値をその複数の画素の値として用いても良いし、複数の画素の値の平均値を、その複数の画素の値として用いても良い。
 図1は、本発明の実施の形態1に係る姿勢状態推定装置の構成の一例を示すブロック図である。説明の簡便化のため、姿勢状態推定装置の周辺機器についても併せて図示する。
 図1において、姿勢状態推定装置100は、姿勢状態管理部110、姿勢状態指定部120、画像データ取得部130、部位領域推定部140、尤度マップ生成部150、および姿勢状態推定部160を有する。
 姿勢状態管理部110は、予め、姿勢状態毎に、姿勢状態の識別情報と、姿勢状態に対して指定された2つ以上の着目部位の識別情報と、尤度マップとを、対応付けて格納する。尤度マップは、画像上で各着目部位が位置することの尤もらしさ(尤度)の分布であり、その詳細については後述する。以下、姿勢状態管理部110に情報が格納されている姿勢状態のみを、「姿勢状態」というものとする。以下、姿勢状態に対応付けられて姿勢状態管理部110に予め格納されている尤度マップは、「学習尤度マップ」という。
 姿勢状態指定部120は、キーボード等の入力装置(図示せず)を介して、推定の対象となる姿勢状態の指定をユーザから受け付ける。具体的には、姿勢状態指定部120は、例えば、姿勢状態管理部110を参照して姿勢状態の一覧を作成し、これを選択肢として表示することにより、姿勢状態の指定を受け付ける。例えば、姿勢状態指定部120は、「右腕が曲がっている」という姿勢状態の指定を受け付ける。そして、姿勢状態指定部120は、指定された姿勢状態の識別情報を、部位領域推定部140および姿勢状態管理部110へ出力する。以下、指定された姿勢状態および指定姿勢の識別情報は、「指定姿勢」と総称する。
 また、姿勢状態指定部120は、指定姿勢に対応付けられた2つ以上の着目部位を、部位領域推定部140へ出力する。例えば、姿勢状態指定部120は、「右腕が曲がっている」という姿勢状態については、「右上腕」および「右前腕」が、出力される。以下、指定姿勢に対応付けられた着目部位は、「指定部位」という。
 画像データ取得部130は、所定の3次元座標空間に設置された単眼カメラ200によって撮像された画像の画像データを、有線通信または無線通信により取得し、部位領域推定部140へ出力する。以下の説明では、画像データは、一人のみの画像を含むものとして説明するが、この限りではなく、複数人の画像を含んでも良いし、人の画像を含んでいなくても良い。
 図2は、画像データを説明するための図である。
 図2に示すように、例えば、単眼カメラ200の位置を地面に投射した位置を原点Oとする3次元の座標系410を設定する。座標系410は、例えば、垂直方向をY軸とし、Y軸および単眼カメラ200の光軸411と直交する方向をX軸とし、X軸およびY軸に直交する方向をZ軸とする。
 単眼カメラ200の設置角度は、例えば、Y軸と光軸411との間の角度θにより表される。そして、単眼カメラ200は、単眼カメラ200の画角φの範囲に含まれるある平面412に焦点(フォーカス)を合わせて撮像を行う。このように撮影された画像の画像データは、姿勢状態推定装置100へ送信される。以下、姿勢状態の推定の対象となる画像データは、「推定画像データ」という。
 図1の部位領域推定部140は、画像データ取得部130から入力された推定画像データに基づいて、姿勢状態指定部120から入力された指定部位の部位領域を推定する。具体的には、部位領域推定部140は、推定画像データから、人の基準部位の位置および向きを推定する。そして、部位領域推定部140は、推定した基準部位の位置および向きを基準として、各指定部位の部位領域を推定する。
 本実施の形態では、基準部位は、人の頭部および肩部とする。また、基準部位の向きは、肩部の向きとし、肩部の向きは、右肩部と左肩部とを結ぶ直線の方向とする。そして、部位領域推定部140は、推定画像データと、指定姿勢と、指定部位毎の部位領域を示す情報(以下「部位領域データ」という)とを、尤度マップ生成部150へ出力する。
 尤度マップ生成部150は、部位領域推定部140から入力された推定画像データから、尤度マップを生成する。この際、尤度マップ生成部150は、部位領域推定部140から入力された部位領域データが示す部位領域以外の領域については、その部位領域に対応する指定部位が位置することの尤もらしさを低くした尤度マップを生成する。このような尤度マップは、指定姿勢の着目部位(例えば、「右腕が曲がっている」という姿勢状態の場合には、「右上腕」および「右前腕」)の可動範囲の尤度のみが高いような情報となる。そして、尤度マップ生成部150は、生成した尤度マップを、部位領域推定部140から入力された指定姿勢と共に、姿勢状態推定部160へ出力する。以下、推定画像データに基づいて生成された尤度マップは、「推定尤度マップ」という。
 姿勢状態推定部160は、尤度マップ生成部150から入力された指定姿勢に対応付けられた学習尤度マップを、姿勢状態管理部110から取得する。なお、学習尤度マップは、姿勢状態推定部160からの指示を受けた姿勢状態管理部110が、姿勢状態推定部160へと出力するようにしても良い。そして、姿勢状態推定部160は、取得した学習尤度マップと、姿勢状態推定部160は尤度マップ生成部150から入力された推定尤度マップとの一致度が高いとき、指定姿勢を、推定画像データに含まれる人の姿勢状態として推定する。すなわち、姿勢状態推定部160は、単眼カメラ200が撮影した人が、ユーザにより指定された姿勢状態を取っていたと推定する。そして、姿勢状態推定部160は、ディスプレイ装置等の情報出力装置300に対して、有線通信または無線通信により情報を送信し、ユーザに対して推定結果を通知する。
 姿勢状態推定装置100は、CPU(central processing unit)およびRAM(random access memory)等の記憶媒体等を含むコンピュータである。すなわち、姿勢状態推定装置100は、記憶する制御プログラムをCPUが実行することによって動作する。
 このような姿勢状態推定装置100は、部位毎の尤度の分布を示す尤度マップを用いるので、例えば、画像上で胴体の外形に右腕が収まっている場合でも、「右腕が曲がっている」という姿勢状態にあるか否かを判定することができる。すなわち、姿勢状態推定装置100は、従来技術に比べて、人の姿勢状態を高精度に推定することができる。
 また、姿勢状態推定装置100は、指定部位の可動領域である部位領域を推定し、部位領域以外の領域については尤度値を低くするので、尤度マップの精度を向上させることができる。
 次に、姿勢状態推定装置100の動作について説明する。
 図3は、姿勢状態推定装置100の動作の一例を示すフローチャートである。
 まず、ステップS3000において、部位領域推定部140は、姿勢状態推定の指示があったか否かを判断する。部位領域推定部140は、例えば、姿勢状態指定部120において新たな姿勢状態の指定が行われたときや、画像データ取得部130に新たな推定画像データが入力されたときに、姿勢状態推定の指示があったと判断する。部位領域推定部140は、姿勢状態推定の指示があった場合(S3000:YES)、ステップS4000へ進む。また、部位領域推定部140は、姿勢状態推定の指示がない場合(S3000:NO)、ステップS5000へ進む。
 ステップS4000において、姿勢状態推定装置100は、姿勢状態の推定を行う推定フェーズ処理を実行して、ステップS5000へ進む。推定フェーズ処理の詳細については後述する。
 ステップS5000において、部位領域推定部140は、ユーザ操作等により処理終了の指示があったか否かを判断する。部位領域推定部140は、処理終了の指示がない場合(S5000:NO)、ステップS3000へ戻り、姿勢状態推定の指示の待機を継続する。また、部位領域推定部140は、処理終了の指示があった場合には(S5000:YES)、一連の処理を終了する。
 図4は、推定フェーズ処理(図3のステップS4000)の一例を示すフローチャートである。
 ステップS4100において、姿勢状態指定部120は、ユーザから姿勢状態の指定を受け付けて指定姿勢を取得し、指定姿勢に対応する指定部位を取得する。
 そして、ステップS4200において、部位領域推定部140は、画像データ取得部130を介して、単眼カメラ200から推定画像データを取得する。推定画像データは、画単眼カメラ200において連続的にリアルタイムで撮影された動画像データを構成する静止画像データでも良いし、予め撮影されて保存されていた画像データであっても良い。
 そして、ステップS4300において、部位領域推定部140は、基準部位の位置および向きを推定する処理(以下「基準部位推定処理」という)を行う。
 ここで、基準部位推定処理の詳細の一例について説明する。基準部位推定処理は、大きく分けて、人の肩関節位置を推定する第1の処理と、人の胴体の向きを推定する第2の処理とから成る。
 まず、人の肩関節位置を推定する第1の処理について説明する。
 部位領域推定部140は、推定画像データから、オメガ形状を検出し、オメガ形状に基づいて肩関節位置を推定する。
 図5は、オメガ形状を説明するための図である。
 オメガ(Ω)形状は、人の頭部および肩部を含む領域の特徴的なエッジ形状であり、人の身体のうち、監視カメラ等を用いた場合に最も安定して撮影される確率が高い形状である。また、頭部および肩部は、人の胴体との相対位置の変化が少ない。したがって、部位領域推定部140は、オメガ形状をまず検出して人の頭部および肩部の位置を検出し、これらを基準として他の部位の部位領域を推定することにより、部位領域を高精度に推定する。
 オメガ形状は、例えば、充分な数のサンプル画像を用いてReal AdaBoost等により作成された検出器を用いて、検出することができる。検出器に用いられる特徴量としては、例えば、HoG(histogram of gradient)特徴量、Sparse特徴量、Haar特徴量等を用いることができる。また、学習方法としては、例えば、Boosting手法のほか、SVM(サポートベクタマシン)、ニューラルネットワークなどを利用することも可能である。
 部位領域推定部140は、推定画像データの画像420から、まず、オメガ形状421を検出する。ここで、オメガ領域422の画素のうち、オメガ形状421を構成する画素(エッジ部分の画素)はデジタル信号「1」であり、他の画素はデジタル信号「0」であるものとする。そして、オメガ形状421を包含する比較的小さい矩形領域を、オメガ領域422として決定する。ここで、オメガ領域422の下の辺を基準線423という。
 部位領域推定部140は、オメガ領域422に含まれるノイズを取り除く。具体的には、部位領域推定部140は、オメガ領域422の画素のうち、オメガ形状421に囲まれた領域に存在するデジタル信号「1」を、ノイズとして、これをデジタル信号「0」に修正する。この修正は、例えば、いわゆるクロージング処理を行うことにより可能である。クロージング処理とは、所定の画素分または所定の割合で、画像領域を拡大また縮小する処理である。この修正により、後述の距離ヒストグラムの精度を向上させることができる。
 そして、部位領域推定部140は、基準線423からオメガ形状421までの垂直距離を、基準線423の各位置について取得する。
 図6は、基準線423からオメガ形状421までの垂直距離を説明するための図である。
 図6に示すように、部位領域推定部140は、基準線423の方向をX軸とし、基準線423の垂直方向をY軸として扱う。部位領域推定部140は、例えば、基準線423の左端からの画素数を、X座標値とする。そして、部位領域推定部140は、基準線423からオメガ形状421を構成する画素までのY軸方向の画素数、つまり、オメガ形状421までの垂直距離を、垂直距離d(X)として取得する。オメガ形状421を構成する画素とは、例えば、デジタル信号「1」の画素のうち、基準線423から直近のものである。
 そして、部位領域推定部140は、n個(nは正の整数)の垂直距離d(X)のデータをX座標に対応付けた距離ヒストグラムを生成する。
 図7は、部位領域推定部140が図5に示すオメガ領域422に基づいて生成する距離ヒストグラムの一例を示す図である。
 図7に示すように、部位領域推定部140は、XY座標系に、垂直距離d(X)をY軸の値として、垂直距離d(X)の分布を示す距離ヒストグラム430を生成する。距離ヒストグラム430は、肩部に対応する形状で盛り上がり、そのうち、頭部の中心部に対応する範囲で突出した形状となる。
 そして、部位領域推定部140は、生成した距離ヒストグラム430に対して、所定の閾値Thを適用して、2値化処理を行う。具体的には、部位領域推定部140は、垂直距離d(X)が閾値Th以上となっているX座標のY座標値を、「1」に置き換え、垂直距離d(X)が閾値Th未満となっているX座標のY座標値を、「0」に置き換える。閾値Thは、オメガ領域422において、高い確率で、肩部上端の垂直距離d(X)よりも大きく、頭部上端の垂直距離d(X)よりも小さくなる値が設定される。なお、2値化処理はこれに限定されるものではなく、例えば、いわゆる大津の2値化(大津の手法)等、他の手法としても良い。
 図8は、図7に示す距離ヒストグラム430を2値化処理した結果の一例である。
 図8に示すように、「1」となる範囲441は、頭部の中央部分の画像領域(以下「頭領域」という)のX座標の範囲を示すことになる。また、「1」となる範囲441を含む全体の範囲442は、肩部の画像領域(以下「肩領域」という)のX座標の範囲を示すことになる。したがって、部位領域推定部140は、推定画像データの画像420のうち、オメガ領域422のX軸方向範囲を、肩領域のX軸方向範囲として抽出し、「1」となる範囲441のX軸方向範囲を、頭領域のX軸方向範囲として抽出する。
 そして、部位領域推定部140は、抽出した肩領域および頭領域に基づいて、基準部位の位置および向きを示す各種パラメータを算出する。
 図9は、基準部位を示す各種パラメータを説明するための図である。
 ここで、部位領域推定部140は、図9に示すように、基準部位の位置を示す記号(括弧内はXY座標系におけるパラメータ)として、H(xh,yh)、RSE(x_rse)、RD(x_rd)、RS(x_rs,y_rs)、RSU(y_rsu)、およびLSを用いるものとする。Hは、頭部の重心位置である。RSEは、右肩の端部の位置である。RDは、頭部の重心から右肩の端部までのX軸方向の距離である。RSは、右肩の関節の位置(以下「右肩位置」という)である。RSUは、右肩の頂部の位置である。LSは、左肩の関節の位置(以下「左肩位置」という)である。
 部位領域推定部140は、例えば、以下のようにして各パラメータの値を算出する。
 まず、部位領域推定部140は、2値化処理の結果に基づいて抽出した肩領域から、人(の胴体)が単眼カメラ200側に向いているか否かに基づいて、右肩領域を決定する。部位領域推定部140は、頭領域の色情報の肌色成分が所定の閾値以上となっているか否かに基づいて、人が単眼カメラ200側に向いているか否かを判断する。ここでは、人は単眼カメラ200側に向いており、画像に向かって左側の肩領域が、右肩領域に決定されたものとする。
 次に、部位領域推定部140は、右肩領域の重心位置を、右肩位置RS(x_rs,y_rs)として算出する。また、部位領域推定部140は、頭部の重心位置H(xh,yh)を算出し、重心位置H(xh,yh)と基のオメガ形状421とのY軸方向の距離(以下「頭部高さΔh」という)用いて、右肩位置RS(x_rs,y_rs)を算出しても良い。具体的には、部位領域推定部140は、例えば、頭部高さΔhに対して予め定められた比となる値を、頭部の重心位置Hから右肩位置RSまでのX軸方向の距離(xh-x_rs)とすれば良い。また、部位領域推定部140は、例えば、肩の高さから頭部高さΔhの半分の値Δh/2だけ低い位置を、右肩位置RSのY座標y_rsとしても良い。
 更に、部位領域推定部140は、オメガ形状421のエッジの傾き(つまり距離ヒストグラムの変化率)が閾値を越えた点を、右肩の端部の位置RSE(x_rse)として算出する。そして、部位領域推定部140は、頭部の重心位置Hと右肩の端部の位置RSEとのX軸方向の距離RD(x_rd)を算出する。
 最後に、部位領域推定部140は、頭部の重心位置HからX軸方向において距離RDの80%の位置に、右肩位置RSがあるものと推定する。すなわち、部位領域推定部140は、右肩位置RSのX座標x_rsを、 x_rs=x_rse+0.2×RD により算出する。また、部位領域推定部140は、右肩位置RSを通り垂直な直線(Y軸に並行な直線)とオメガ形状421のエッジとの交点を、右肩の頂部の位置RSU(y_rsu)として算出する。そして、部位領域推定部140は、右肩位置RSのY座標y_rsを、 y_rs=y_rsu-0.2×RD により算出する。
 また、部位領域推定部140は、同様にして、左肩位置LSについても算出する。なお、各パラメータの算出手法は、上述の例に限定されるものではない。
 次に、人の胴体の向きを推定する第2の処理について説明する。
 部位領域推定部140は、基準部位対応テーブルを、予め保持している。基準部位対応テーブルは、頭部の重心位置Hと、右肩位置RSと、左肩位置LSとの組み合わせ(以下「基準部位の位置」という)と、その基準部位の位置から推定される身体の向き(以下「基準部位の向き」という)とを対応付けて記述したテーブルである。すなわち、基準部位テーブルは、各部位の相対的な位置関係を記述したテーブルである。なお、基準部位とは、上述の通り、人の頭部および肩部を示すオメガ形状の部分である。したがって、基準部位の向きとは、人の身体(胴体)の向きである。
 部位領域推定部140は、推定画像データから算出した基準部位の位置に対応する基準部位の向きを、基準部位対応テーブルから導出する。
 なお、保持された基準部位対応テーブルに記述される基準部位の位置、および、部位領域推定部140が推定画像データから算出する基準部位の位置は、人の画面上の大きさによらない正規化された値であることが望ましい。具体的には、部位領域推定部140は、例えば、頭部の重心位置Hを原点とし、頭部の重心位置Hと右肩位置RSまたは左肩位置LSとの間の長さが1となるように正規化した値を用いて、準部位の向きを導出する。
 また、基準部位対応テーブルには、右肩位置RSおよび左肩位置LSが記述されていても良い。また、基準部位対応テーブルには、頭部の重心位置Hと右肩位置RSまたは左肩位置LSとを通る線と、頭部の重心位置Hを通る垂直な直線(以下「頭部垂直線」という)とが成す角が記述されていても良い。また、基準部位対応テーブルには、頭部の重心位置Hと右肩位置RSとの間の距離を1としたときの頭部の重心位置Hと左肩位置LSとの間の距離が記述されていても良い。部位領域推定部140は、基準部位対応テーブルに記述されたパラメータに対応するパラメータを算出することにより、基準部位の向きを導出する。
 図10は、基準部位対応テーブルの内容の一例を示す図である。
 図10に示すように、基準部位対応テーブル450は、識別子451に対応付けて、射影角度452、左肩位置LSの座標453、頭部の重心位置Hの座標454、および基準部位の向き455を記述する。各座標は、例えば、右肩位置RSを原点とし、画面の2次元座標系に平行な所定の2次元座標系を用いて表現される。射影角度452は、例えば、図2で説明した3次元座標系410のXZ平面に対する、この所定の2次元座標系の角度(つまり図2に示す設置角度θ)である。また、基準部位の向き455は、例えば、図2で説明した3次元座標系410のXYZ軸のそれぞれに対する回転角度で表される。
 このようにして、部位領域推定部140は、基準部位の位置および向きを推定する。以上で基準部位推定処理の説明を終える。
 次に、図4のステップS4400において、部位領域推定部140は、推定した基準部位の位置および向きに基づいて、指定部位毎に部位領域を推定する処理(以下「部位領域推定処理」という)を行う。
 ここで、部位領域推定処理の詳細の一例について説明する。
 部位領域推定部140は、部位領域対応テーブルを、予め保持している。部位領域対応テーブルは、基準部位の位置と向きと、他の部位の部位領域とを対応付けて記述したテーブルである。
 部位領域推定部140は、推定画像データから推定した基準部位の位置および向きに対応する指定部位の部位領域を、部位領域対応テーブルから導出する。
 部位領域は、例えば、推定画像データの画像の画素位置により定義される。したがって、部位領域推定部140は、推定画像データの画像全体の全ての画素について、各画素がいずれかの指定部位の部位領域に属する画素であるかを判断する。
 図11は、部位領域対応テーブルの内容の一例を示す図である。
 図11に示すように、部位領域対応テーブル460は、識別子461に対応付けて、頭肩領域(基準部位)の位置463、頭肩領域(基準部位)の向き464、および各部位の領域465を記述する。各位置および領域は、例えば、画像の2次元座標系の値で表される。射影角度462は、例えば、図2で説明した3次元座標系410のXZ平面に対する、この所定の2次元座標系の角度(つまり図2に示す設置角度θ)である。頭肩領域の位置463は、例えば、右肩位置RSである。頭肩領域の向き464は、例えば、図2で説明した3次元座標系410のXYZ軸のそれぞれに対する回転角度で表される。なお、識別子461が基準部位対応テーブル450の識別子451と共通である場合には、頭肩領域の向き464は、必ずしも部位領域対応テーブル460に記述されていなくても良い。各部位の領域465は、例えば、領域が円で近似される場合における、その円の中心座標と半径とにより表される。
 なお、部位領域推定部140は、部位領域を求める際に、必ずしも部位領域対応テーブル460を用いなくても良い。例えば、部位領域推定部140は、基準部位対応テーブル450(図10参照)から導出された基準部位の向きから、他の各種の身体制約情報を用いて、各部位領域を、例えば基準部位からの接続順に動的に算出しても良い。身体制約情報は、各部位の位置に関する制約条件を含む情報である。
 そして、部位領域推定部140は、推定画像データの画像全体の全ての画素について、画素毎に指定部位の部位領域であるか否かを示す情報を、部位領域データとして尤度マップ生成部150へ出力する。
 部位領域データは、例えば、推定画像データの全ての画素位置(i,j)について、いずれかの指定部位の部位領域に該当するか否かを示す画素情報Kijを並べた構造を有し得る。画素情報Kijの各要素は、例えば、対応する指定部位の部位領域に属する場合には「1」を取り、属しない場合には「0」を取る。画素情報Kijは、例えば、Kij=[k1,k2]というように、指定部位の数と同数の次元を有する。ここでは、k1は右上腕の部位領域に対応し、k2は右前腕の部位領域に対応するものとする。
 例えば、部位領域推定部140は、ある画素位置Kabが、右上腕の部位領域に含まれるが右前腕の部位領域には含まれないと判定した場合、Kab=[1,0]という画素情報を生成する。部位領域推定部140は、このように生成した各画素の画素情報の集合を、部位領域データとして生成する。
 なお、部位領域データによる部位領域の表し方は、上述の例に限定されるものではない。例えば、部位領域データは、画像に予め設定された部分領域毎に、いずれの指定部位の部位領域に該当するかを示しても良いし、指定部位毎に部位領域の外縁の座標を示しても良い。
 なお、基準部位の位置を正規化した位置が基準部位推定処理において用いられる場合には、部位領域対応テーブルには、正規化された基準部位に対応する部位領域が記述されていることが望ましい。また、部位領域データには、上述の基準部位対応テーブルの場合と同様に、右肩位置RSおよび左肩位置LS等の他の情報が記述されていても良い。部位領域推定部140は、部位領域対応テーブルに記述されたパラメータに対応するパラメータを算出することにより、各指定部位の部位領域を導出する。
 図12は、部位領域データの内容の一例を示す図である。ここでは、説明の簡便化のため、直立状態にある場合の各部位の位置を併せて図示する。
 図12に示すように、部位領域データは、推定画像データの画像420において、指定部位である右上腕の部位領域471と、指定部位である右前腕の部位領域472とを示す。これらの部位領域471、472は、上述の通り、先に推定された基準部位473の位置および向きを基準として推定されたものである。
 このようにして、部位領域推定部140は、各指定部位の部位領域を推定する。以上で部位領域推定処理の説明を終える。
 次に、図4のステップS4500において、尤度マップ生成部150は、指定部位毎に部位領域について尤度値を算出して推定尤度マップを生成する処理(以下「推定尤度マップ生成処理」という)を行う。
 ここで、推定尤度マップ生成処理の詳細の一例について説明する。
 まず、尤度マップ生成部150は、推定画像データから、指定部位の部位領域内の画素毎に、指定部位の位置および向きの状態を表すのに適した画像特徴量を判別して指定部位が位置することの尤もらしさを示す尤度値を算出する。そして、尤度マップ生成部150は、推定画像データから算出された尤度値を用いて、各画素の尤度値の分布を示す推定尤度マップを生成する。尤度値は、0~1の範囲となるように正規化した値であっても良いし、正の整数や負の数を含む実数であっても良い。
 画像から注目対象を認識する手法としては、例えば、矩形情報を基にした複数の弱識別器の総和をAdaBoostにより統合して強識別器を作成し、強識別器をカスケード接続させて、画像中の注目対象として顔を認識する技術を採用することができる。また、画像特徴量としては、例えば、SIFT(scale-invariant feature transform)特徴量を採用することができる(例えば、非特許文献2参照)。SIFT特徴量は、128次元のベクトルにより構成されており、画素毎に計算される値である。SIFT特徴量は、検出の対象となる物体のスケール変化、回転、および平行移動に影響を受けないため、特に、腕のように、様々な方向に回転し得る部位の検出に有効である。すなわち、SIFT特徴量は、姿勢状態を2つ以上の着目部位の相対的な関節の位置および角度によって定義する本実施の形態に好適である。
 SIFT特徴量を用いた手法を本実施の形態に適用した場合、強識別器Hk(k=1,2)は、右上腕(k=1)、右前腕(k=2)等、部位領域毎に、予め機械学習により生成され、尤度マップ生成部150に保持される。識別器Hkは、AdaBoostアルゴリズムにより生成される。すなわち、強識別器Hkは、予め部位毎に用意されている複数の学習画像に対して、右上腕であるか否か、および、右前腕であるか否かが、所望の精度で判定できるまで学習が繰り返され、複数の弱識別器がカスケード接続されることによって生成される。
 尤度マップ生成部150は、指定部位毎および画素毎に画像特徴量を算出すると、その画像特徴量を強識別器Hkに入力し、その強識別器Hkを構成する各弱識別器の出力に対して弱識別器毎に予め得られた信頼度αを乗算した値の総和を算出する。そして、尤度マップ生成部150は、算出した総和から所定の閾値Thを減算して、指定部位毎および画素毎の尤度値ckを算出する。ここでは、c1は右上腕の尤度値を示し、c2は右前腕の尤度値を示す。
 尤度マップ生成部150は、各指定部位の尤度値を統合した画素毎の尤度値Cijを、Cij=[c1,c2]とする。そして、尤度マップ生成部150は、画像全体の全ての画素の尤度値Cijを、推定尤度マップとして、姿勢状態推定部160へ出力する。
 尤度マップ生成部150は、各画素について、その画素がいずれかの部位領域に含まれるか否かを判断し、含まれればその部位の識別器を用いて尤度値を算出し、含まなければその部位の尤度値を0としても良い。換言すると、尤度マップ生成部150は、部位領域推定部140から出力された画素情報の行列式(Kij)と、部位領域とは無関係に算出した各画素の尤度値の行列式(Cij)とを積算した結果を、最終的な推定尤度マップとしても良い。
 図13は、推定尤度マップの一例を示す図である。ここでは、推定尤度マップのうち1つの指定部位(例えば右上腕)の尤度値のみを表し、尤度値がより高い画素ほどより濃い網掛けを付している。図13に示すように、推定尤度マップ478は、指定部位が位置することの尤もらしさの分布を表す。
 尤度マップの画素毎の情報は、例えば、部位kの尤度値をckと表し、指定部位がn個存在する場合には、尤度ベクトルCij=[c1,c2,…,ck,…,cn]というデータ構造となる。
 このようにして、尤度マップ生成部150は、推定尤度マップを生成する。以上で推定尤度マップ生成処理の説明を終える。
 次に、ステップS4600において、姿勢状態推定部160は、指定姿勢に対応する学習尤度マップを姿勢状態管理部110から取得する。そして、姿勢状態推定部160は、学習尤度マップと推定尤度マップとが一致するか否かを、その一致度が所定のレベル以上であるか否かに基づいて判断する一致度判定処理を行う。
 ここで、一致度判定処理の詳細の一例について説明する。
 姿勢状態推定部160は、まず、推定尤度マップおよび学習尤度マップをそれぞれ所定の閾値を用いて2値化する。具体的には、姿勢状態推定部160は、画素毎および指定部位毎の尤度値を、所定の閾値以上である場合はデジタル信号「0」に、所定の閾値未満である場合にはデジタル信号「1」に変換する。
 図14は、図13に示す推定尤度マップを2値化した後の状態の一例を示す図である。ここでは、デジタル信号「1」の画素は灰色、デジタル信号「0」の画素は白色で表している。図14に示すように、2値化後の推定尤度マップ479は、指定部位が位置することの尤もらしさが高い部分の分布を表す。
 そして、姿勢状態推定部160は、推定尤度マップと学習尤度マップとの間で、画素毎および指定部位毎に2値化された尤度値の積を取り、全ての画素および全ての指定部位についての値の和を、評価値とする。具体的には、姿勢状態推定部160は、推定尤度マップと学習尤度マップとを所定の位置関係で重ね、画素毎に2値化後の尤度値情報を掛け算し、掛け算した値の全ての画素および指定部位についての和を求める。
 姿勢状態推定部160は、推定尤度マップと学習尤度マップとの重ね合わせの位置関係を、移動および回転によりずらしていき、各位置関係について上述の演算処理を行う。そして、姿勢状態推定部160は、求めた評価値のうちの最大値を、一致度を表す最終的な評価値として取得し、この評価値が所定の閾値以上であるとき、学習尤度マップと推定尤度マップとが一致すると判断する。閾値は、予め、学習等により適切な値が設定される。
 なお、姿勢状態推定部160は、必ずしも推定尤度マップおよび学習尤度マップを2値化しなくても良い。この場合には、姿勢状態推定部160は、学習尤度マップと推定尤度マップとの一致度をより精度良く判定することができる。また、2値化した場合には、姿勢状態推定部160は、高速に一致度の判定を行うことができる。
 このようにして、姿勢状態推定部160は、推定尤度マップと学習尤度マップとの一致度を判定する。以上で一致度判定処理の説明を終える。
 姿勢状態推定部160は、学習尤度マップと推定尤度マップとが一致する場合(S4600:YES)、ステップS4700へ進む。また、姿勢状態推定部160は、学習尤度マップと推定尤度マップとが一致しない場合(S4600:NO)、ステップS4800へ進む。
 ステップS4700において、姿勢状態推定部160は、情報出力装置300を介して、ユーザに対し、対象画像データに含まれる人の姿勢が指定姿勢である旨を通知して、図3の処理へ戻る。
 ステップS4800において、姿勢状態推定部160は、情報出力装置300を介して、ユーザに対し、対象画像データに含まれる人の姿勢が指定姿勢でない旨を通知して、図3の処理へ戻る。なお、姿勢状態推定部160は、対象画像データから人が検出されない等、姿勢状態の判定を行う事ができない場合に、その旨を通知するようにしても良い。
 なお、ステップS4700、S4800の通知は、文字表示、画像表示、音声出力、および振動出力等の、出力の有無もしくは出力内容の違いにより、行うことができる。
 このような動作により、姿勢状態推定装置100は、部位領域を推定して、指定部位毎の尤度の分布を示す推定尤度マップを生成することができる。そして、姿勢状態推定装置100は、生成した推定尤度マップと指定姿勢に対応付けられた学習尤度マップとを比較することにより、姿勢状態の推定を行うことができる。
 図15は、指定姿勢であると判定される場合の一例を示す図である。
 図15(A)に示すように、学習画像480において、「直立姿勢」という手足および背筋を伸ばした姿勢状態に対応付けて、人481の全身の部位が指定されていたとする。この場合、比較の対象となる部位領域482は、全身を包含する範囲となる。
 そして、図15(B)に示すように、推定フェーズにて、推定画像490に対して「直立姿勢」が指定された場合を想定する。この場合、指定部位は人491の全身の部位となり、比較の対象となる部位領域492は、全身を包含する範囲となる。図15(A)に示す学習画像480に基づく部位領域482の学習尤度マップと、推定画像490に基づく部位領域492の推定尤度マップとは、相対的に移動および回転させたとき、一致する。したがって、姿勢状態推定装置100は、学習画像480に含まれる人が「直立姿勢」という姿勢状態にあると判定することができる。
 図16は、指定姿勢であると判定される場合の他の例を示す図である。
 図16(A)に示すように、学習画像480において、「右腕が曲がっている」という姿勢状態に対応付けて、人481の右上腕および右前腕が指定されていたとする。この場合、比較の対象となる部位領域482は、右上腕および右前腕を包含する範囲となる。
 そして、図16(B)~(E)に示すように、推定フェーズにて、推定画像490に対して「右腕が曲がっている」が指定された場合を想定する。この場合、指定部位は人491の右上腕および右前腕となり、比較の対象となる部位領域492は、右上腕および右前腕を包含する範囲となる。図16(A)に示す学習画像480に基づく部位領域482の学習尤度マップと、推定画像490に基づく部位領域492の推定尤度マップとは、相対的に移動および回転させたとき、一致する。したがって、姿勢状態推定装置100は、学習画像480に含まれる人が「右腕が曲がっている」という姿勢状態にあると判定することができる。
 図16(B)~図16(E)の各推定画像490の人491の外形は、それぞれ図16(A)の学習画像480の人481の外形と大きく異なっている。したがって、上述の従来技術では、図16(B)~図16(E)の推定画像490に対して、「右腕が曲がっている」という姿勢状態にないと判定してしまう。これに対し、本実施の形態に係る姿勢状態推定装置100は、上述の通り、姿勢状態推定を的確に行うことができる。
 また、本実施の形態に係る姿勢状態推定装置100は、図16(B)~図16(E)のように右腕以外の部位の姿勢が異なっていても、「右腕が曲がっている」という姿勢状態であると判定することができる。すなわち、姿勢状態推定装置100は、指定部位にのみ着目した姿勢を、他の部位の姿勢に関係なく抽出することができる。
 以上のように、本実施の形態に係る姿勢状態推定装置100は、部位毎の尤度の分布を示す尤度マップを用いるので、人の姿勢状態を高精度に推定することができる。また、姿勢状態推定装置100は、部位領域を推定し、部位領域以外の領域については尤度値を低くした推定尤度マップを生成するので、尤度マップの精度を向上させ、姿勢状態推定を更に高精度に行うことができる。
 なお、以上説明した実施の形態1では、姿勢状態推定装置100は、具体的に指定されたある姿勢状態のみについて推定を行うようにしたが、複数の姿勢状態のうちどの姿勢状態に一致するかを推定するようにしても良い。この場合には、例えば、姿勢状態推定装置100は、姿勢状態管理部110に対応する学習尤度マップが格納されている全ての姿勢状態を、指定姿勢として取り扱えば良い。また、姿勢状態推定装置100は、いずれの姿勢状態も指定されずに姿勢状態推定の実行を指示された場合に、全ての姿勢状態を指定姿勢として取り扱うようにしても良い。
 また、姿勢状態推定に用いられる画像データは、ステレオカメラまたは複数のカメラによって撮影された画像のデータであっても良い。ステレオカメラの画像データを用いる場合には、姿勢状態推定装置100は、片方のカメラによって撮像された画像データと、ステレオカメラの設置パラメータから得られる被写体の位置情報とを用いても良い。また、複数のカメラの画像データを用いる場合には、姿勢状態推定装置100は、それらのうち一台のカメラによって撮像された画像データと、各カメラの設置パラメータから得られる被写体の位置情報とを用いても良い。
 また、部位領域推定部140は、基準部位の位置および向きが既知である場合や指定される場合には、上述の基準部位推定処理を行わなくても良い。また、部位領域推定部140は、例えば人の歩行する方向が決まっており、基準部位の向きがほぼ一定である場合には、身体の向き情報を保持しておいても良い。
 また、部位領域推定部140が行う部位領域の推定の手法は、上述の例に限定されない。例えば、部位領域推定部140は、推定画像データから画像のエッジ部分(以下、単に「エッジ」という)を抽出し、エッジにより囲まれた領域のY座標の値の範囲に基づいて、各部位領域を推定しても良い。具体的には、例えば、部位領域推定部140は、エッジにより囲まれた領域において、Y座標の値が最も高い位置から20%までの領域を頭部の部位領域というように推定する。同様に、例えば、部位領域推定部140は、15%から65%までの領域を胴の部位領域、55%から85%までの領域を膝上の部位領域、75%から100%までの領域を膝下の部位領域というように推定する。
 また、推定画像データが動画像データを構成する静止画像データである場合には、部位領域推定部140は、画像間で背景差分を取ることにより動体を抽出し、抽出した領域を含む領域全体を、各部位の部位領域の候補としても良い。これにより、部位領域を推定する際の処理の高速化を図ることができる。
 また、姿勢状態推定装置100は、基準部位から近い順に1つずつ部位の位置を推定し、推定した位置に基づいて次の部位の部位領域を推定するという処理を繰り返すことにより、各着目部位の部位領域を推定するようにしても良い。
 また、姿勢状態推定部160は、学習尤度マップに、その学習尤度マップの基となった画像の光軸方向に関する情報が対応付けられている場合には、単眼カメラ200の設置角度θに対応する学習尤度マップを比較対象とするようにしても良い。
 また、姿勢状態推定装置100は、必ずしも部位領域推定を行わなくても良い。この場合には、尤度マップ生成部150は、画像の全ての領域に対して均一に、尤度値の算出を行うことになる。
 また、姿勢状態推定装置100が扱う尤度マップの種類は、上述の例により生成される尤度マップに限定されない。例えば、推定尤度マップおよび学習尤度マップは、エッジから平行線を抽出することにより生成されるものであっても良い。
 この場合、尤度マップ生成部150は、例えば、肩関節の長さと各部位の標準的な太さの値とを対応付けた対応テーブルを予め備えておく。尤度マップ生成部150は、部位領域内に、その部位の標準的な太さに相当する距離で離隔する平行線の組を、判定する方向を360度回転させながら検索する。そして、尤度マップ生成部150は、該当する平行線の組が存在する場合に、それらの平行線によって囲まれた領域の各画素に対して投票を行う処理を繰り返し、最終的な各画素の投票数に基づいて推定尤度マップを生成する。
 このような手法の場合、推定尤度マップおよび学習尤度マップは、画素毎および指定部位毎に、平行線の方向と投票数(以下「方向の尤度値」という)とを含むことになる。例えば、平行線の角度を8つに分類した場合、画素毎および指定部位毎の尤度値は、8方向に対応した8次元の値となる。更に、例えば、平行線の幅を2つに分類した場合、画素毎および指定部位毎の尤度値は、2×8=16次元の値となる。なお、投票の対象となる平行線の距離や角度は、部位毎に異なっていても良い。平行線の幅を複数求めて、そのうちの尤度値が尤も高くなる幅の尤度値を用いることにより、体型や服装の違いを吸収して、尤度を求めることができる。
 そして、尤度マップ生成部150は、例えば、指定部位毎に、方向の尤度値が最も高い方向を、その指定部位の主要なエッジ方向と判定する。このとき、姿勢状態推定部160は、方向毎に全画素の尤度値の合計値を取り、その合計値が最も高い方向を、方向の尤度値が最も高い方向であると判定しても良い。
 そして、姿勢状態推定部160は、指定部位毎に、それぞれの主要なエッジ方向が一致するように推定尤度マップと学習尤度マップとを重ね合わせて、一致度を算出する。以降の処理は、本実施の形態で既に説明した手法と同様である。
 このように、エッジの方向を考慮した手法は、推定尤度マップと学習尤度マップとの重ね合わせの位置関係に制約を加えることができるので、処理負荷を軽減することができる。
 なお、推定尤度マップと学習尤度マップとの一致度を算出する際に、エッジ方向の情報のみを用いても良い。この場合、例えば、姿勢状態推定部160は、複数の指定部位間で各指定部位のエッジ方向が成す角の一致度を、推定尤度マップと学習尤度マップとの一致度を表す評価値とする。そして、姿勢状態推定部160は、評価値が所定の範囲内であるとき、対象画像データに含まれる人の姿勢が指定姿勢であると判定する。
 このように、エッジ方向のみを用いて一致度を判定する手法は、画像を回転させながら複数の評価値を繰り返し算出する処理を不要とすることができるため、処理負荷を更に低減することができる。
 (実施の形態2)
 本発明の実施の形態2は、姿勢状態推定装置において、学習尤度マップの生成を併せて行うようにした例である。本実施の形態に係る姿勢状態推定装置は、姿勢状態の推定を行う推定フェーズ処理の他に、学習尤度マップを生成する学習フェーズ処理を行う。
 図17は、本発明の実施の形態2に係る姿勢状態推定装置の構成の一例を示すブロック図であり、実施の形態1の図1に対応するものである。図1と同一部分には同一符号を付し、これについての説明を省略する。
 図17に示すように、本実施の形態に係る姿勢状態推定装置100aは、実施の形態1とは異なる尤度マップ生成部150aを有する。
 本実施の形態における画像データ取得部130および部位領域推定部140は、学習フェーズにおいて入力される画像データ(以下「学習画像データ」という)に対しても、推定画像データに対する処理と同様の処理を行い、部位領域の推定を行う。
 また、本実施の形態における姿勢状態指定部120は、学習フェーズにおいても、姿勢状態および部位の指定を受け付け、指定姿勢および指定部位を出力する。
 尤度マップ生成部150aは、学習フェーズにおいても、学習画像データに対し、推定画像データに対する処理と同様の処理を行い、部位領域に対応する指定部位が位置することの尤もらしさを低くした尤度マップを生成する。但し、尤度マップ生成部150aは、学習画像データから生成した尤度マップを、学習尤度マップとして、その指定姿勢および指定部位と対応付けて、姿勢状態管理部110に格納する。また、尤度マップ生成部150aは、学習画像データから生成した尤度マップについては、姿勢状態推定部160へ出力しない。
 このような姿勢状態推定装置100aは、学習画像データの入力と姿勢状態および部位の指定を受けて、学習尤度マップを生成し、生成した学習尤度マップを用いて対象画像データに対する姿勢状態推定を行うことができる。
 次に、姿勢状態推定装置100aの動作について説明する。
 図18は、姿勢状態推定装置100aの動作の一例を示すフローチャートであり、実施の形態1の図3に対応するものである。図3と同一部分には同一ステップ番号を付し、これについての説明を省略する。
 まず、ステップS1000aにおいて、部位領域推定部140は、姿勢状態学習の指示があったか否かを判断する。姿勢状態学習とは、つまり、学習尤度マップの生成である。部位領域推定部140は、例えば、学習フェーズにあるときに、姿勢状態指定部120において新たな姿勢状態の指定が行われたときや、画像データ取得部130に新たな推定画像データが入力されたときに、姿勢状態推定の指示があったと判断する。学習フェーズと推定フェーズとの切り替えは、例えば、キーボード等の入力装置(図示せず)を介してユーザから所定の操作を受け付けることにより行われる。部位領域推定部140は、姿勢状態学習の指示があった場合(S1000a:YES)、ステップS2000aへ進む。また、部位領域推定部140は、姿勢状態学習の指示がない場合(S1000a:NO)、実施の形態1で説明したステップS3000~S5000の処理へ進む。
 ステップS2000aにおいて、姿勢状態推定装置100は、姿勢状態の学習を行う学習フェーズ処理を実行して、実施の形態1で説明したステップS3000~S5000の処理へ進む。
 図19は、学習フェーズ処理(図18のステップS2000a)の一例を示すフローチャートである。
 ステップS2100aにおいて、姿勢状態指定部120は、ユーザから姿勢状態の指定を受け付けて指定姿勢を取得し、指定姿勢に対応する指定部位を取得する。なお、指定姿勢に対応して、少なくとも1回は、指定部位の外部からの指定が行われる必要がある。姿勢状態指定部120は、指定姿勢と指定部位との組を記憶しておき、2回目以降は指定姿勢から自動的に指定部位を決定するようにし、部位の指定の受け付けを省略するようにしても良い。
 そして、ステップS2200aにおいて、部位領域推定部140は、画像データ取得部130を介して、単眼カメラ200から学習画像データを取得する。学習画像データは、画単眼カメラ200において連続的にリアルタイムで撮影された動画像データを構成する静止画像データでも良いし、予め撮影されて保存されていた画像データであっても良い。また、学習画像データは、実際の人を撮影した画像のデータではなく、コンピュータ上のCG(computer graphics)ソフトウェアなどで作成した画像のデータであっても良い。特に、モーションキャプチャソフトウェアの画像データは、人の3次元姿勢情報を同時に取得可能であるため、学習尤度マップを生成する際の利便性を向上させることができる。
 そして、ステップS2300aにおいて、部位領域推定部140は、学習画像データに対し、実施の形態1で説明した基準部位推定処理と同様の処理を行い、基準部位を推定する。
 そして、ステップS2400aにおいて、部位領域推定部140は、学習画像データに対し、実施の形態1で説明した部位領域推定処理と同様の処理を行い、指定部位毎に部位領域を推定する。
 そして、ステップS2500aにおいて、尤度マップ生成部150aは、学習画像データに対し、実施の形態1で説明した推定尤度マップ生成処理と同様の処理を行い、指定部位毎に部位領域について尤度値を算出して、学習尤度マップを生成する。
 そして、ステップS2600aにおいて、尤度マップ生成部150aは、生成した学習尤度マップを、指定部位および指定姿勢に対応付けて、姿勢状態管理部110に記憶させ、図18の処理へ戻る。
 なお、尤度マップ生成部150aは、複数の学習画像データに対して同一の姿勢状態が指定される場合、つまり、指定姿勢が同一の学習尤度マップが複数存在する場合には、尤度値の平均値から成る学習尤度マップを、姿勢状態管理部110に記憶させても良い。
 このような動作により、姿勢状態推定装置100aは、学習画像データの入力と姿勢状態および部位の指定を受けて、学習尤度マップを生成し、記憶しておくことができる。この結果、例えば、実施の形態1の図16(A)に示す部位領域482に基づいて学習尤度マップが生成され、「右腕が曲がっている」という姿勢状態と、「右上腕」および「右前腕」という部位とに対応付けて記憶される。
 以上のように、本実施の形態に係る姿勢状態推定装置100aは、姿勢状態毎に、部位毎の尤度の分布を示す学習尤度マップを生成し、生成した学習尤度マップを用いるので、人の姿勢状態を高精度に推定することができる。
 例えば、実施の形態1で説明したように、上述の従来技術では、図16(B)~図16(E)の推定画像490に対して、「右腕が曲がっている」という姿勢状態にないと判定してしまう。従来技術においてこれを防ぐためには、図16(B)~図16(E)に示される全ての外形について、学習画像を用意し、学習尤度マップを生成しなければならない。このような網羅的な学習は、手間と時間が掛かる。また、記憶されている学習尤度マップの数が増えると、一致度判定にも時間が掛かる。これに対し、本実施の形態に係る姿勢状態推定装置100aを用いる場合には、上述の通り図16(A)に示す学習画像480に対する学習で済み、学習尤度マップの数も抑えることができる。
 なお、姿勢状態推定装置100aは、実施の形態1で説明したエッジ方向に基づく推定尤度マップ等、他の手法により生成される推定尤度マップを用いる場合には、対応する手法により、学習尤度マップを生成するものとする。
 また、本発明の適用は、実施の形態1および実施の形態2において説明した人の姿勢状態推定に限定されるものではない。本発明は、ロボット等の、関節により接続された複数の部位を有する各種の物体の姿勢状態推定に対しても適用することができる。
 以下、更に凹凸マップを用いて姿勢推定を行う例を、本発明の実施の形態3として説明する。ここで、凹凸マップとは、画像を、画像に映し出された被写体の面を凹凸で区分したマップである。
 (実施の形態3)
 図20は、本発明の実施の形態3に係る姿勢状態推定装置の要部構成を示すブロック図であり、実施の形態1の図1の姿勢状態推定装置100に対応するものである。なお、図20において、図1と共通する構成部分には、図1と同一の符号を付して説明を省略する。
 図20の姿勢状態推定装置100bは、図1の構成に加えて、更に、凹凸マップ推定部145bを有する。
 凹凸マップ推定部145bは、各部位の凹凸マップを生成する。より具体的には、凹凸マップ推定部145bは、尤度マップ生成部150から、推定尤度マップおよび推定画像データを入力する。そして、凹凸マップ推定部145bは、入力した情報に基づいて凹凸マップを生成し、生成した凹凸マップを、姿勢状態推定部160bへ出力する。凹凸マップの生成手法の詳細については、後述する。以下、推定画像データから生成された凹凸マップは、「推定凹凸マップ」という。
 姿勢状態推定部160bは、学習尤度マップに加えて、姿勢状態毎に、その姿勢状態にある基準モデルから学習された凹凸マップ(以下「学習凹凸マップ」という)を、予め保持している。そして、姿勢状態推定部160bは、推定尤度マップと学習尤度マップとの一致度に加えて、推定凹凸マップと学習凹凸マップとの一致度に基づいて、被写体の姿勢状態の推定を行う。すなわち、姿勢状態推定部160bは、実施の形態1の動作に加えて、推定凹凸マップと学習凹凸マップとのマッチングを更に行う。
 まず、凹凸マップについて説明する。
 凹凸マップ推定部145bは、画像上の部位の明るさ情報から部位の面の向きを推定する。ここで、明るさとは、例えば、輝度のレベルであり、明るさ情報とは、輝度または輝度のレベルを示す情報である。
 図21は、人の姿勢と各部位の明るさとの関係を説明するための図である。
 図21Aに示す第1の姿勢と図21Bに示す第2の姿勢は、異なる姿勢であるにもかかわらず、図21Cに示すように、正面から見たときのシルエットが同一であるとする。この場合、正面画像のエッジからなる領域情報からだけでは、対象人物の姿勢が第1の姿勢であるか第2の姿勢であるかを、正しく推定することができない。
 例えば、図21Cに示すシルエットから、右腕の長さが左腕の長さよりも短いことが分かるため、右肘が曲がっている可能性が高いことが推測できる。ところが、身体制約を満たす曲げ方には、バリエーションがある。また、図21Aや図21Bに示すように、右腕全体の角度にもバリエーションがある。
 また、例えば、図21Cに示すシルエットから、左脚の長さが左腕の長さよりも短いことが分かるため、左膝が曲がって可能性があることが推測できる。ところが、図21Aや図21Bに示すように、左膝が曲がっている場合と伸びている場合とがあり得る。
 上腕と前腕との区切りや膝上と膝下との区切りの位置(つまり関節)を推定することができれば、対象人物の姿勢が上述のバリエーションのどれなのかを推定することができる。ところが、図21Cのように腕や脚が直線に見える姿勢の場合、エッジからなる領域情報からだけでは、身体制約を用いたとしても、かかる区切りの位置を推定することは難しい。
 そこで、このような領域情報だけからでは関節位置(各部位の区切り)が特定できない姿勢に対応するため、姿勢状態推定装置100bは、領域情報に加えて、明るさ情報を用いて部位領域を推定する。
 図21Dは、上からの自然光を光源とするときの、第1の姿勢を正面から撮影した場合の各部位の明るさを、濃度で示す図である。図21Eは、上からの自然光を光源とするときの、第2の姿勢を正面から撮影した場合の各部位の明るさを、濃度で示す図である。ここでは、濃度が高いほど、明るさがより低い(より暗い)ことを示す。また、明るさとして、暗い方のレベルから順に、「-2,-1,0,1,2」の5段階のレベルが定義されているものとする。レベル「0」は、例えば、地面に対して垂直方向の面の明るさのレベルである。
 画像の各領域の明るさレベルは、より上を向いている面の領域ほど明るくなり、逆に、より下を向いている面の領域ほど暗くなる。
 例えば、図21のDおよび図21のEに示すように、第1および第2の姿勢の両方において、頭、胴、左腕の領域は、レベル「0」となり、右脚の領域は、やや暗いレベル「-1」となる。
 第1の姿勢においては、右上腕は垂直に降ろされ、右前腕は前に伸びているため、図21のDに示すように、右上腕の領域はレベル「0」となり、右前腕の領域はレベル「2」となる。これに対し、第2の姿勢においては、右上腕は後に引かれ、右前腕は下に向いているため、図21Eに示すように、右上腕の領域はレベル「-2」となり、右前腕の領域はレベル「2」となる。
 また、第1の姿勢においては、左足は全体は前に伸びているため、図21Dに示すように、左膝上および左膝下の領域はレベル「1」となる。これに対し、第2の姿勢においては、左大腿は上に上げられ、左膝は後ろに向いているため、図21Eに示すように、左大腿の領域はレベル「2」となり、左膝の領域はレベル「-2」となる。
 このように、各部位は、同じ明るさの面として捉えることができる。したがって、画像上の部位の明るさ情報から、部位の位置を推定することができる。
 次に、以上のように構成された姿勢状態推定装置100bの動作について、図22の処理フローを用いて説明する。なお、図22において、実施の形態1の図4と共通するステップは、図4と同一のステップ番号を付し、その説明を省略する。
 推定尤度マップが生成されると(S4500)、処理は、S4510bへ進む。
 S4510bにおいて、凹凸マップ推定部145bは、推定凹凸マップ生成処理を行う。推定凹凸マップ生成処理は、S4200で取得された推定画像データと、S4500で生成された推定尤度マップとから、推定凹凸マップを生成する処理である。
 図23は、凹凸マップ生成処理(図22のステップS4510b)の処理フローを示す図である。
 推定凹凸マップの画素毎の情報は、例えば、部位kの尤度をpkと表し、部位がn個存在する場合には、凹凸ベクトルOij=[p1,p2,…,pk,…,pn]というデータ構造となる。pkは2値情報であり、pkの値は、例えば、部位kである可能性が無いことを示す0、および、部位kである可能性があることを示す1のいずれかを取る。
 S6100bにおいて、凹凸マップ推定部145bは、処理の対象となる部位を1つ選択する。例えば、右腕を凹凸マップ生成処理の対象とする場合、凹凸マップ推定部145bは、まず、基幹部位から一番離れた右前腕を選択する。
 そして、S6200bにおいて、凹凸マップ推定部145bは、S4500で生成された推定尤度マップから、S6100bで選択した部位の領域(以後、部位尤度領域とよぶ)を取得する。ここでは、推定尤度マップ上の右前腕の尤度が所定の閾値を超える画素を抽出し、右前腕の部位尤度領域とする。
 そして、S6300bにおいて、凹凸マップ推定部145bは、S4200で取得された推定画像データから、S6200bで抽出した部位尤度領域の、明るさ情報を抽出する。明るさ情報は、例えば、推定画像データを構成する各画素のRGB値から輝度(画素の明るさ)のみを抽出したグレースケール(白黒階調の)画像へと変換することにより、抽出することができる。
 そして、S6400bにおいて、凹凸マップ推定部145bは、S6300bで求めた部位尤度領域の明るさ情報を、明るさの閾値を用いてグルーピングする。凹凸マップ推定部145bは、明るさの閾値を、あらかじめ設定された固定値としても良いし、動的に設定しても良い。ここでは、閾値を動的に設定する手法の一例について説明する。
 図24は、右前腕の身体制約を用いたエリア分類の手法を説明するための図である。説明を簡略化するために、胴には右腕しかないものとして説明する。
 図22のステップS4300では、例えば、推定された右肩位置500bを基準として、頭肩領域とこれに接続する胴領域501bが推定される。この場合、右上腕と右前腕が存在可能な領域は、領域502bのようになり、右前腕のみ存在可能な領域は、領域503bのようになる。領域502b、503bは、例えば、図11に示す部位領域対応テーブルから算出することができる。
 凹凸マップ推定部145bは、まず、右前腕の部位尤度領域のうち、右前腕のみ存在可能な領域503bから、当該領域に存在する画素の輝度値(明るさ情報)を抽出する。
 そして、凹凸マップ推定部145bは、対象画素の総数mのa%をn個とすると、抽出した輝度値のデータから、小さいものから順にn個と、大きいものから順にn個とを除く。更に、凹凸マップ推定部145bは、これら2n個のデータを除いた後のデータ(データの数はm-2n)の最小値および最大値を、右前腕の明るさ情報の閾値(右前腕として扱う輝度値の範囲の上限値と下限値)とする。ここで、aは、あらかじめ設定された値である。
 そして、凹凸マップ推定部145bは、例えば、右前腕の部位尤度領域のうち、この閾値に当てはまる(つまり、右前腕として扱う輝度値の範囲内である)画素の凹凸ベクトルOijのうち、右前腕を示す値に、右前腕である可能性があることを示す値(例えば1)を設定する。
 このように、凹凸マップ推定部145bは、身体制約により右前腕しか存在しない部位尤度領域の明るさ情報のみを用いて、輝度値の閾値を設定する。これにより、凹凸マップ推定部145bは、他の部位の影響を受けずに、右前腕の明るさ情報を持つ画素を特定することができる。
 次に、凹凸マップ推定部145bは、右前腕の部位尤度領域のうち、右上腕と右前腕のみ存在可能な領域502bから、画素の輝度値(明るさ情報)を抽出する。
 そして、凹凸マップ推定部145bは、抽出した輝度値のデータの中から、前ステップで求めた右前腕の明るさ情報の閾値に当てはまるものを削除する。そして、凹凸マップ推定部145bは、残った輝度値のデータの総数pのb%をq個とすると、抽出した輝度値のデータから、小さいものから順にq個と、大きいものから順にq個とを除く。更に、凹凸マップ推定部145bは、これら2q個のデータを除いた後のデータ(データの数はp-2q)の最小値および最大値を、右上腕の明るさ情報の閾値(右前腕として扱う輝度値の範囲の上限値と下限値)とする。ここで、bの値は、あらかじめ設定された値である。
 そして、凹凸マップ推定部145bは、例えば、右前腕の部位尤度領域のうち、この閾値に当てはまる(つまり、右上腕として扱う輝度値の範囲内である)画素の凹凸ベクトルOijの、右上腕を示す値に、右上腕である可能性があることを示す値(例えば1)を設定する。
 このように、凹凸マップ推定部145bは、身体制約により右上腕と右前腕しか存在しない部位尤度領域の明るさ情報のデータから、右前腕として扱う輝度値の範囲内のデータを除いて閾値を設定する。これにより、凹凸マップ推定部145bは、他の部位の影響を受けずに右上腕の明るさ情報を持つ画素を特定し、右上腕の明るさ情報を持つ画素を精度良く特定することができる。
 このように、凹凸マップ推定部145bは、基幹部位から離れた部位から順に、その部位だけ存在する領域の明るさ情報を用いて明るさ情報の閾値を設定していき、部位ごとの明るさ情報をグルーピングして領域を推定する。
 なお、右前腕のみ存在可能な領域503bに、右前腕の部位尤度領域がない場合もあり得る。このような場合、凹凸マップ推定部145bは、例えば、右前腕と右上腕の部位尤度領域のうち、右上腕と右前腕のみ存在可能な領域502bに存在する画素の輝度情報を抽出し、右前腕と右上腕の2グループに分類する処理を行っても良い。そして、凹凸マップ推定部145bは、例えば、大津の2値化を用いて、上述の閾値を設定する。これにより、凹凸マップ推定部145bは、右前腕のみ存在可能な領域503bに右前腕の部位尤度領域がない場合にも、右上腕と右前腕の明るさ情報の閾値を設定することができる。
 また、右前腕のみ存在可能な領域503bで右前腕の明るさ情報を設定した後、右上腕と右前腕のみ存在可能な領域502bにもかかわらず、右前腕と異なる明るさ情報の画素がないために、右前腕と異なる閾値が設定できない場合もあり得る。このような場合、凹凸マップ推定部145bは、例えば、右上腕の明るさ情報に対して、右前腕と同じ値を設定しても良い。これにより、凹凸マップ推定部145bは、右上腕と右前腕の面の向きが似ている場合(真っ直ぐに伸びている場合)にも、右上腕の明るさ情報を設定することができる。
 図23のS6500bにおいて、凹凸マップ推定部145bは、凹凸マップ生成処理の対象となる部位の全てについて処理したかを判断する。例えば、左腕に関しても推定凹凸マップを生成する場合には、凹凸マップ推定部145bは、S6100bに戻り、左腕に関して、右腕と同様の処理を行う。
 そして、凹凸マップ推定部145bは、生成した推定凹凸マップを、姿勢状態推定部160bへ出力する。
 図22のS4600bにおいて、姿勢状態推定部160bは、学習尤度マップと推定尤度マップとのマッチングを行い、その後、学習凹凸マップと推定凹凸マップとのマッチングを行う。そして、姿勢状態推定部160bは、推定尤度マップが、いずれかの学習尤度マップと一致するか否かを、実施の形態1と同様に判断する。
 より具体的には、姿勢状態推定部160bは、凹凸マップの尤度の値が2値の場合には、推定凹凸マップと学習凹凸マップとの間で、画素ごとに、尤度の一致度を評価する。例えば、姿勢状態推定部160bは、全画素に関して、識別子が一致する画素をカウントし、カウント値が最も大きい学習凹凸マップに対して、推定凹凸マップとの一致度が高いと判断する。なお、姿勢状態推定部160bは、尤度マップと同様に、サイズが異なる場合には、画像領域に対する拡大縮小処理を行ってからマッチングを行っても良い。
 図21で説明したように、学習尤度マップは同一であっても、学習凹凸マップが異なるような姿勢状態もあり得る。したがって、学習尤度マップだけでなく、学習凹凸マップとのマッチングを併せて行うことにより、より正確な姿勢状態推定が可能となる。
 このように、本実施の形態に係る姿勢状態推定装置100bは、凹凸マップを生成し、凹凸マップのマッチングを併用するので、姿勢推定の精度を更に向上させることができる。
 なお、本実施の形態は、実施の形態2に係る姿勢状態推定装置100aに適用しても良い。すなわち、学習尤度マップの生成と同様に、学習凹凸マップを生成するようにしても良い。
 2010年12月9日出願の特願2010-274673の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
 本発明に係る姿勢状態推定装置および姿勢状態推定方法は、関節を有する物体の姿勢状態を高精度に推定することができる姿勢状態推定装置および姿勢状態推定方法として有用である。
 100、100a、100b 姿勢状態推定装置
 110 姿勢状態管理部
 120 姿勢状態指定部
 130 画像データ取得部
 140 部位領域推定部
 145b 凹凸マップ推定部
 150、150a 尤度マップ生成部
 160、160b 姿勢状態推定部
 200 単眼カメラ
 300 情報出力装置

Claims (11)

  1.  関節により接続された複数の部位を有する物体を撮影した画像データに基づいて前記物体の姿勢状態の推定を行う姿勢状態推定装置であって、
     前記画像データから、少なくとも2つ以上の前記部位について、各部位が位置することの尤もらしさの分布を示す尤度マップを生成する尤度マップ生成部と、
     前記姿勢状態に予め対応付けられた前記尤度マップである学習尤度マップと、前記画像データに基づいて生成された前記尤度マップである推定尤度マップとの一致度が高いとき、当該学習尤度マップと対応付けられた前記姿勢状態を、前記物体の姿勢状態として推定する姿勢状態推定部と、を有する、
     姿勢状態推定装置。
  2.  前記尤度マップは、少なくとも、前記部位が位置することの画素毎の尤度値を前記部位毎に示す情報であり、
     前記姿勢状態推定部は、
     対応する前記画素毎および前記部位毎の前記尤度値の一致度がより高いほど、学習尤度マップと前記推定尤度マップとの一致度がより高いと判定する、
     請求項1記載の姿勢状態推定装置。
  3.  前記姿勢状態推定部は、
     前記推定尤度マップを拡大、縮小、平行移動、もしくは回転、またはこれらの組み合わせにより変換した情報と、前記学習尤度マップとの一致度が高いとき、学習尤度マップと前記推定尤度マップとの一致度が高いと判定する、
     請求項1記載の姿勢状態推定装置。
  4.  前記少なくとも2つの部位について、前記画像データにおける各部位の可動範囲を、その部位の部位領域として推定する部位領域推定部、を更に有し、
     前記尤度マップ生成部は、
     前記部位領域以外の領域については、前記部位領域に対応する前記部位が位置することの尤もらしさを低くした前記推定尤度マップを生成する、
     請求項1記載の姿勢状態推定装置。
  5.  前記物体は人であり、
     前記部位領域推定部は、
     前記画像データから前記人の頭部および肩部の位置および向きを検出し、これらの位置および向きから、前記部位領域を推定する、
     請求項4記載の姿勢状態推定装置。
  6.  前記推定の対象となる前記姿勢状態の指定を受け付ける姿勢状態指定部、を更に有し、
     前記姿勢状態推定部は、
     前記推定の対象として指定された前記姿勢状態に対応付けられた前記学習尤度マップと前記推定尤度マップとの一致度が高いとき、前記物体の姿勢状態が指定された前記姿勢状態である旨の通知を行う、
     請求項1記載の姿勢状態推定装置。
  7.  前記姿勢状態指定部は、
     前記学習尤度マップの生成の指示と、前記生成の対象となる前記姿勢状態の指定とを受け付け、
     前記尤度マップ生成部は、
     前記学習尤度マップの生成が指示されたとき、所定の画像に基づいて前記学習尤度マップを生成し、
     生成された前記学習尤度マップを、指定された前記姿勢状態に対応付けて格納する姿勢状態管理部、を更に有する、
     請求項6記載の姿勢状態推定装置。
  8.  前記姿勢状態指定部は、
     2つ以上の前記部位の指定を更に受け付け、
     指定された前記2つ以上の前記部位について、前記所定の画像における各部位の可動範囲を、その部位の部位領域として推定する部位領域推定部、を更に有し、
     前記尤度マップ生成部は、
     前記部位領域以外の領域については、前記部位領域に対応する前記部位が位置することの尤もらしさを低くした前記学習尤度マップを生成する、
     請求項7記載の姿勢状態推定装置。
  9.  前記尤度マップ生成部は、
     前記画像データに含まれる平行線に基づいて、前記尤度マップを生成し、
     前記姿勢状態推定部は、
     前記平行線から取得される前記推定尤度マップの主要なエッジ方向と、前記学習尤度マップの主要なエッジ方向とを用いて、一致度を算出する、
     請求項1記載の姿勢状態推定装置。
  10.  前記画像データの画像における被写体の面を凹凸で区分したマップである凹凸マップを生成する凹凸マップ推定部、を更に有し、
     前記姿勢状態推定部は、
     更に、前記姿勢状態に予め対応付けられた前記凹凸マップである学習凹凸マップと、前記画像データに基づいて生成された前記凹凸マップである推定尤度マップとの一致度に基づいて、前記物体の姿勢状態を推定する、
     請求項1記載の姿勢状態推定装置。
  11.  関節により接続された複数の部位を有する物体を撮影した画像データに基づいて前記物体の姿勢状態の推定を行う姿勢状態推定方法であって、
     前記画像データから、少なくとも2つ以上の前記部位について、各部位が位置することの尤もらしさの分布を示す尤度マップを生成するステップと、
     前記姿勢状態に予め対応付けられた前記尤度マップである学習尤度マップと、前記画像データに基づいて生成された前記尤度マップである推定尤度マップとの一致度を判定するステップと、
     前記一致度が高いとき、当該学習尤度マップと対応付けられた前記姿勢状態を、前記物体の姿勢状態として推定するステップと、を有する、
     姿勢状態推定方法。
     
PCT/JP2011/006499 2010-12-09 2011-11-22 姿勢状態推定装置および姿勢状態推定方法 WO2012077287A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201180054681.4A CN103221977B (zh) 2010-12-09 2011-11-22 姿势状态估计装置及姿势状态估计方法
JP2012547682A JP5837508B2 (ja) 2010-12-09 2011-11-22 姿勢状態推定装置および姿勢状態推定方法
US13/991,021 US9262674B2 (en) 2010-12-09 2011-11-22 Orientation state estimation device and orientation state estimation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010274673 2010-12-09
JP2010-274673 2010-12-09

Publications (1)

Publication Number Publication Date
WO2012077287A1 true WO2012077287A1 (ja) 2012-06-14

Family

ID=46206802

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/006499 WO2012077287A1 (ja) 2010-12-09 2011-11-22 姿勢状態推定装置および姿勢状態推定方法

Country Status (4)

Country Link
US (1) US9262674B2 (ja)
JP (1) JP5837508B2 (ja)
CN (1) CN103221977B (ja)
WO (1) WO2012077287A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104487999A (zh) * 2012-07-26 2015-04-01 松下电器产业株式会社 姿势估计装置、姿势估计方法以及姿势估计程序
US20190318500A1 (en) * 2018-04-17 2019-10-17 Fujitsu Limited Method for estimating body orientation
US10796186B2 (en) 2017-07-03 2020-10-06 Fujitsu Limited Part recognition method, information processing apparatus, and imaging control system
JP2020201558A (ja) * 2019-06-06 2020-12-17 Kddi株式会社 姿勢推定装置、方法およびプログラム
US10902056B2 (en) 2013-11-06 2021-01-26 Samsung Electronics Co., Ltd. Method and apparatus for processing image
JP7419993B2 (ja) 2020-07-02 2024-01-23 コニカミノルタ株式会社 信頼度推定プログラム、信頼度推定方法、および信頼度推定装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013008935A1 (ja) * 2011-07-13 2013-01-17 日東電工株式会社 オンデマンド型電力制御システム、オンデマンド型電力制御システムプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP5818773B2 (ja) * 2012-11-22 2015-11-18 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US10026002B2 (en) * 2013-10-01 2018-07-17 Nec Corporation Object detection apparatus, method for detecting object, and learning apparatus
WO2015064144A1 (ja) * 2013-10-30 2015-05-07 オリンパスイメージング株式会社 撮像装置、撮像方法およびプログラム
CA2958888C (en) * 2014-08-28 2023-02-28 Retailmenot, Inc. Reducing the search space for recognition of objects in an image based on wireless signals
US9552070B2 (en) * 2014-09-23 2017-01-24 Microsoft Technology Licensing, Llc Tracking hand/body pose
US10121260B2 (en) 2014-10-30 2018-11-06 Panasonic Intellectual Property Management Co., Ltd. Orientation estimation method and orientation estimation device
CN105069413B (zh) * 2015-07-27 2018-04-06 电子科技大学 一种基于深度卷积神经网络的人体姿势识别方法
WO2017203986A1 (ja) * 2016-05-25 2017-11-30 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および見守りシステム
JP6824838B2 (ja) * 2017-07-07 2021-02-03 株式会社日立製作所 作業データ管理システム及び作業データ管理方法
JP7093075B2 (ja) * 2018-04-09 2022-06-29 東芝エネルギーシステムズ株式会社 医用画像処理装置、医用画像処理方法、およびプログラム
JP2019200560A (ja) * 2018-05-16 2019-11-21 パナソニックIpマネジメント株式会社 作業分析装置および作業分析方法
JP6973298B2 (ja) * 2018-05-31 2021-11-24 トヨタ自動車株式会社 物体監視装置
CN108921047B (zh) * 2018-06-12 2021-11-26 江西理工大学 一种基于跨层融合的多模型投票均值动作识别方法
JP7010778B2 (ja) * 2018-06-29 2022-01-26 国立大学法人東海国立大学機構 観測位置推定装置、その推定方法、及びプログラム
JP2020129018A (ja) * 2019-02-07 2020-08-27 株式会社日立製作所 動作評価システムおよび方法
CN111679248B (zh) * 2020-05-15 2023-04-21 黑龙江工程学院 一种基于海底水平l型阵列的目标方位和距离联合稀疏重构定位方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08214289A (ja) * 1994-12-06 1996-08-20 Olympus Optical Co Ltd 時系列画像解析装置及びその解析方法
JP2005242759A (ja) * 2004-02-27 2005-09-08 National Institute Of Information & Communication Technology 行動・意図推定システム、行動・意図推定方法、行動・意図推定プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005351814A (ja) * 2004-06-11 2005-12-22 Konica Minolta Holdings Inc 検出装置および検出方法
JP2007004732A (ja) * 2005-06-27 2007-01-11 Matsushita Electric Ind Co Ltd 画像生成装置及び画像生成方法
JP2007310707A (ja) * 2006-05-19 2007-11-29 Toshiba Corp 姿勢推定装置及びその方法
JP2009288917A (ja) * 2008-05-28 2009-12-10 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2010514064A (ja) * 2006-12-21 2010-04-30 本田技研工業株式会社 ラベル付けを用いた人体姿勢の推定および追跡

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4492036B2 (ja) 2003-04-28 2010-06-30 ソニー株式会社 画像認識装置及び方法、並びにロボット装置
JP3775683B2 (ja) * 2003-08-21 2006-05-17 松下電器産業株式会社 人物検出装置および人物検出方法
US7542858B2 (en) * 2005-06-03 2009-06-02 Lsi Corporation Simulated battery logic testing device
JP4710426B2 (ja) * 2005-06-14 2011-06-29 富士ゼロックス株式会社 画像処理装置、画像処理方法及び画像処理プログラム
JP4148281B2 (ja) 2006-06-19 2008-09-10 ソニー株式会社 モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム
JP5215740B2 (ja) * 2008-06-09 2013-06-19 株式会社日立製作所 移動ロボットシステム
KR101626065B1 (ko) * 2009-10-13 2016-05-31 삼성전자주식회사 마커리스 모션 캡쳐링 장치 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08214289A (ja) * 1994-12-06 1996-08-20 Olympus Optical Co Ltd 時系列画像解析装置及びその解析方法
JP2005242759A (ja) * 2004-02-27 2005-09-08 National Institute Of Information & Communication Technology 行動・意図推定システム、行動・意図推定方法、行動・意図推定プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005351814A (ja) * 2004-06-11 2005-12-22 Konica Minolta Holdings Inc 検出装置および検出方法
JP2007004732A (ja) * 2005-06-27 2007-01-11 Matsushita Electric Ind Co Ltd 画像生成装置及び画像生成方法
JP2007310707A (ja) * 2006-05-19 2007-11-29 Toshiba Corp 姿勢推定装置及びその方法
JP2010514064A (ja) * 2006-12-21 2010-04-30 本田技研工業株式会社 ラベル付けを用いた人体姿勢の推定および追跡
JP2009288917A (ja) * 2008-05-28 2009-12-10 Sony Corp 情報処理装置、情報処理方法、およびプログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104487999A (zh) * 2012-07-26 2015-04-01 松下电器产业株式会社 姿势估计装置、姿势估计方法以及姿势估计程序
US10902056B2 (en) 2013-11-06 2021-01-26 Samsung Electronics Co., Ltd. Method and apparatus for processing image
US10796186B2 (en) 2017-07-03 2020-10-06 Fujitsu Limited Part recognition method, information processing apparatus, and imaging control system
US20190318500A1 (en) * 2018-04-17 2019-10-17 Fujitsu Limited Method for estimating body orientation
US10909718B2 (en) * 2018-04-17 2021-02-02 Fujitsu Limited Method for estimating body orientation
JP2020201558A (ja) * 2019-06-06 2020-12-17 Kddi株式会社 姿勢推定装置、方法およびプログラム
JP7054392B2 (ja) 2019-06-06 2022-04-13 Kddi株式会社 姿勢推定装置、方法およびプログラム
JP7419993B2 (ja) 2020-07-02 2024-01-23 コニカミノルタ株式会社 信頼度推定プログラム、信頼度推定方法、および信頼度推定装置

Also Published As

Publication number Publication date
JP5837508B2 (ja) 2015-12-24
US20130301882A1 (en) 2013-11-14
JPWO2012077287A1 (ja) 2014-05-19
US9262674B2 (en) 2016-02-16
CN103221977B (zh) 2015-10-14
CN103221977A (zh) 2013-07-24

Similar Documents

Publication Publication Date Title
WO2012077287A1 (ja) 姿勢状態推定装置および姿勢状態推定方法
JP5873442B2 (ja) 物体検出装置および物体検出方法
JP5715833B2 (ja) 姿勢状態推定装置および姿勢状態推定方法
Xia et al. Human detection using depth information by kinect
US9480417B2 (en) Posture estimation device, posture estimation system, and posture estimation method
JP5820366B2 (ja) 姿勢推定装置及び姿勢推定方法
Pala et al. Multimodal person reidentification using RGB-D cameras
JP6125188B2 (ja) 映像処理方法及び装置
US9330307B2 (en) Learning based estimation of hand and finger pose
US8824781B2 (en) Learning-based pose estimation from depth maps
JP7094702B2 (ja) 画像処理装置及びその方法、プログラム
US9117138B2 (en) Method and apparatus for object positioning by using depth images
JP2012123667A (ja) 姿勢推定装置および姿勢推定方法
JP2015184054A (ja) 同定装置、方法及びプログラム
CN108694348B (zh) 一种基于自然特征的跟踪注册方法及装置
Hachiuma et al. Recognition and pose estimation of primitive shapes from depth images for spatial augmented reality
Schulz et al. Pedestrian recognition from a moving catadioptric camera
Iwashita et al. Person Identification using Shadow Analysis.
JP6085160B2 (ja) 物体認識システム
CN115829829A (zh) 图像处理方法、电子设备、存储介质及程序产品
Prous et al. Laser Range Data Registration using Spin Images.
Ghassemian Track,” IEEE International Conference on Computer Vision & Pattern Recognition, pp. 593–600, 1994.[37] JR Shewchuk,“Delaunay Refinement Mesh Generation,” Ph. D. Thesis
Soundararajan et al. Mesh Generation,” Ph. D. Thesis, Carnegie Mellon University, pp. 593–600, 1997.

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012547682

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13991021

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

Country of ref document: EP

Kind code of ref document: A1