WO2014017006A1 - 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム - Google Patents

姿勢推定装置、姿勢推定方法、および姿勢推定プログラム Download PDF

Info

Publication number
WO2014017006A1
WO2014017006A1 PCT/JP2013/003509 JP2013003509W WO2014017006A1 WO 2014017006 A1 WO2014017006 A1 WO 2014017006A1 JP 2013003509 W JP2013003509 W JP 2013003509W WO 2014017006 A1 WO2014017006 A1 WO 2014017006A1
Authority
WO
WIPO (PCT)
Prior art keywords
candidate
region
feature amount
candidate area
area
Prior art date
Application number
PCT/JP2013/003509
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 US14/413,814 priority Critical patent/US9576191B2/en
Priority to CN201380039239.3A priority patent/CN104487999B/zh
Publication of WO2014017006A1 publication Critical patent/WO2014017006A1/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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • G01S5/163Determination of attitude
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/759Region-based matching

Definitions

  • the present invention relates to a posture estimation device, a posture estimation method, and a posture estimation program for estimating the posture of an articulated object having a pair of parts.
  • the posture estimation apparatus can determine a human behavior from a moving image by computer analysis, and can perform a behavior analysis without depending on human hands.
  • Application examples of behavior analysis include, for example, abnormal behavior detection in the street, purchase behavior analysis in stores, work efficiency improvement support in factories, and form guidance in sports.
  • the site refers to a component of an articulated object (for example, a head, a torso, an arm, a leg, etc.).
  • the position of the part indicates the position and angle of the part in the human posture. Since the person changes the posture of the part according to the movement, if the position of the part can be estimated, it is possible to estimate the action such as what the person is doing and what he is going to do.
  • Patent Document 1 describes a technique for estimating the posture of a person based on an image of the person.
  • Patent Document 1 The technique described in Patent Document 1 (hereinafter referred to as “Prior Art 1”) obtains the center of gravity of a person silhouette from a captured image, calculates the distance from the center of gravity to each point on the outline of the person silhouette, and moves upward from the center of gravity. The extending vertical axis is detected and the intersection with the outline of the person silhouette is taken as the head vertex. And the prior art 1 searches for the point where the distance calculated counterclockwise starting from the top vertex is the maximum, determines the first maximum point as the tip of the right hand, and determines the next maximum point, Judged as right foot, left foot, left hand tip. According to this prior art 1, the posture of a person can be estimated without attaching a device such as an orientation sensor to the person.
  • a device such as an orientation sensor
  • Patent Literature 2 describes a technique for estimating the posture of a person based on an image obtained by photographing the person.
  • Patent Document 2 The technique described in Patent Document 2 (hereinafter referred to as “Prior Art 2”) takes a picture of a person who wears clothing of a color other than blue and a different color for each part on a blue background. Thereby, the related art 2 acquires a person silhouette from the difference in color information between the background image and the person image, and detects a person's part from the color information of the clothes. If this prior art 2 is used, the posture of a person can be estimated without attaching a device such as a sensor to the person.
  • the prior art 1 and the prior art 2 have a problem that the posture of the person cannot be estimated with high accuracy depending on the photographing conditions. This is because the conventional technique 1 cannot estimate the posture of the arms or legs because the arms or legs overlap in the person silhouette when both arms and legs cross each other or the arms or legs and the torso overlap. It is. Further, in Conventional Technology 2, a person's part cannot be detected unless a person is photographed with a specific background and specific clothes.
  • An object of the present invention is to estimate the posture of an articulated object having a pair of parts with high accuracy.
  • a posture estimation apparatus is a posture estimation device that estimates a paired part based on an image including all or part of an articulated object having a paired part.
  • a candidate area extracting unit that extracts a plurality of candidate areas of the paired parts using a common feature amount indicating a shape characteristic common to an unspecified number of articulated objects with respect to the paired parts;
  • a first candidate area that has the maximum likelihood of being a paired part, and a part area extracting unit that uses a region other than the first candidate area as a second candidate area; and the first candidate area
  • a feature amount calculation unit that calculates a unique feature amount indicating a feature unique to the multi-joint object to be estimated for the paired parts, the first candidate region, and the second candidate
  • One of the areas A feature amount correcting unit that corrects the unique feature amount of the candidate region based on at least one of the length, width, and angle of the other candidate region, the corrected unique feature amount, and the other candidate region
  • a determination unit that determines the unique
  • a posture estimation method is a posture estimation method for estimating a paired part based on an image including all or part of an articulated object having a paired part. Extracting a plurality of candidate regions for the paired parts using a common feature amount indicating a shape characteristic common to an unspecified number of multi-joint objects with respect to the paired parts; and the plurality of candidate areas Extracting a first candidate area having the maximum likelihood as a paired part and setting a region other than the first candidate area as a second candidate area; and the first candidate area and the second candidate area And calculating a unique feature amount indicating a characteristic unique to the multi-joint object to be estimated for each of the paired parts, and one of the first candidate area and the second candidate area.
  • a posture estimation program is executed by a computer of an apparatus that estimates a paired part based on an image including all or part of an articulated object having a paired part.
  • the posture of an articulated object having a pair of parts can be estimated with high accuracy.
  • the system block diagram which shows an example of a structure of the attitude
  • the figure which shows an example of the body model in Embodiment 2 of this invention The flowchart which shows an example of operation
  • the figure for demonstrating the maximum value in Embodiment 2 of this invention The flowchart which shows an example of the feature-value correction process in Embodiment 2 of this invention.
  • the figure which shows an example of the posture of the person in Embodiment 2 of this invention The flowchart which shows an example of the feature-value calculation area
  • the figure which shows an example of the posture of the person in Embodiment 2 of this invention The figure which shows an example when the specific feature-value in Embodiment 2 of this invention cannot be calculated correctly, and its histogram
  • the figure which shows an example of the histogram when the specific feature-value in Embodiment 2 of this invention cannot be calculated correctly The figure which shows an example of the histogram when the specific feature-value in Embodiment 2 of this invention cannot be calculated correctly
  • the figure which shows an example of the histogram when the specific feature-value in Embodiment 2 of this invention cannot be calculated correctly The figure which shows an example of the histogram when the
  • Embodiment 1 of the present invention is an example of a basic aspect of the present invention.
  • FIG. 1 is a block diagram showing an example of the configuration of the posture estimation apparatus according to the present embodiment.
  • the posture estimation apparatus 100 includes a candidate region extraction unit 110, a part region extraction unit 120, a feature amount calculation unit 130, a feature amount correction unit 140, and a determination unit 150.
  • the posture estimation apparatus 100 estimates the posture of “parts to be paired” constituting the multi-joint object.
  • the “part” is a component of the articulated object.
  • the “part posture” means the position and angle of the part.
  • the candidate region extraction unit 110 extracts a plurality of candidate regions of the estimation target part from the image including a part or all of the articulated object to be estimated using the common feature amount.
  • the “common feature amount” indicates a feature having a shape common to an unspecified number of articulated objects (for example, only an edge or an edge and a silhouette) with respect to a pair of parts.
  • the candidate area extracted here may include a candidate area with noise.
  • the “estimation target part” is a paired part that is an estimation target of the posture of the part. Also, of the paired parts, one part is called a “first part” and the other part is called a “second part”. For example, when the paired parts are forearms, the right forearm is called a first part and the left forearm is called a second part.
  • the above-mentioned “shape common to unspecified many articulated objects with respect to a pair of parts” is, for example, the possible range of parts in a multi-joint object, or the size, length, thickness, or cross section of a part And the angle at which the articulated object is photographed.
  • the existence range, size, length, thickness, cross-sectional shape, or angle at which the articulated object is imaged for such a part is determined in advance as constraint information on the articulated object.
  • the candidate area extraction unit 110 may extract candidate areas based on the constraint information. Thereby, the candidate area extraction unit 110 can extract, as a candidate area, an area having the highest possibility (likelihood) of being an estimation target part.
  • the part region extraction unit 120 sets, as a candidate region of the first part (an example of the first candidate region), a region having the highest likelihood of being the estimation target part among the plurality of candidate regions extracted by the candidate region extraction unit 110. Extract.
  • the candidate region of the first part is referred to as “part region”.
  • candidate regions other than the region are referred to as “second region candidate regions” (an example of a second candidate region). There may be a plurality of candidate regions for the second part.
  • the feature amount calculation unit 130 calculates a unique feature amount for each of the region region and the second region candidate region extracted by the region region extraction unit 120.
  • the “unique feature amount” calculated here indicates a feature (for example, at least one of color and texture) unique to the individual of the multi-joint object to be estimated for the paired parts.
  • the feature amount correction unit 140 calculates the unique feature amount of one candidate region of the region region and the second region candidate region calculated by the feature amount calculation unit 130, the length, width, And correction (recalculation) based on at least one of the angles. That is, the feature amount correcting unit 140 corrects the unique feature amount of the part region based on at least one of the length, width, and angle of the candidate region of the second part. Alternatively, the feature amount correcting unit 140 corrects the unique feature amount of the candidate region of the second part based on at least one of the length, the width, and the angle of the part region.
  • the former correction method corrects the candidate area with high likelihood to match the candidate area with low likelihood, so the latter correction that estimates the feature amount of the candidate area with high likelihood from the candidate area with low likelihood More accurate estimation than the method.
  • the feature amount correcting unit 140 corrects the unique feature amount for each pair of the part region and the candidate region for the second part.
  • the feature amount correcting unit 140 may perform the following processing before correcting the unique feature amount described above. First, the feature amount correction unit 140 calculates the similarity between the unique feature amount of the part region and the unique feature amount of the candidate region of the second part, which is calculated by the feature amount calculation unit 130. Next, the feature amount correcting unit 140 determines whether there is a candidate region for the second part that can be estimated to be paired with the part region based on the calculated similarity. As a result of this determination, when there is no second region candidate region that can be estimated to be paired with the region, the feature amount correcting unit 140 corrects the unique feature amount described above.
  • the determination unit 150 determines the candidate region of the part region and the second part. It is determined whether or not is a pair of parts. By this determination, the posture of the part is estimated.
  • the posture estimation apparatus 100 includes, for example, a CPU (Central Processing Unit), a storage medium such as a ROM (Read Only Memory) storing a control program, and a working memory such as a RAM (Random Access Memory).
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the posture estimation apparatus 100 having such a configuration has the following effects.
  • the posture estimation apparatus 100 first extracts a plurality of candidate areas from the image using the common feature amount, and divides them into a part area and a second part candidate area. Next, posture estimation apparatus 100 calculates a unique feature amount for each of the part region and the second part candidate region. Next, posture estimation apparatus 100 sets the unique feature amount of any one of the candidate regions of the part region and the second part to at least one of the length, width, and angle of the other candidate region. Modify based on. Next, based on the similarity between the corrected unique feature quantity and the unique feature quantity of the other candidate area, posture estimation apparatus 100 is a part where the part area and the second part candidate area are paired. Determine whether or not.
  • posture estimation apparatus 100 can narrow down the candidate regions of the second part even when there are candidate regions of other parts around the candidate area of the second part. Therefore, even if it is difficult to estimate the posture of one of the paired parts, or at least one of the color and texture of the part is not known in advance, the posture estimation apparatus 100 is a paired part. It is possible to estimate the posture of an articulated object having a high accuracy.
  • Embodiment 2 of the present invention is an example of a specific aspect of the present invention when the present invention is applied to an apparatus that inputs a captured image and estimates the posture of a person included in the captured image.
  • FIG. 2 is a system configuration diagram showing an example of the configuration of the posture estimation system in the present embodiment.
  • the posture estimation system 200 includes a camera 320 that captures a photographing area 310 and a posture estimation device 100 that is communicably connected to the camera 320.
  • the camera 320 is a digital video camera, for example, and images the imaging area 310 from diagonally above. That is, the image photographed by the camera 320 is an image obtained by photographing a real space including the person 340 and the horizontal floor surface 330. Then, the camera 320 transmits the video data of the captured video to the posture estimation device 100.
  • a person 340 who is a target of posture estimation is walking on the floor surface 330 of the imaging area 310.
  • the posture estimation apparatus 100 is a personal computer, for example, and estimates the posture of the person 340 based on video data received from the camera 320.
  • FIG. 3 is a diagram showing an example of a body constitutive model (hereinafter referred to as “body model”) 410 of the person 340.
  • the body model 410 schematically shows the positional relationship of each part of the body used for posture estimation.
  • the body model 410 includes a torso 411, a left thigh 412, a left lower leg 413, a left foot 414, a right thigh 415, a right lower leg 416, a right foot 417, and a head 418, an upper right arm 419, a right forearm 420, a left upper arm 422, and a left forearm 423. Including at least.
  • the left forearm 423 can move only within a predetermined angle range centering on the connection point with the left upper arm 422.
  • the possible area (also referred to as “existable range”) of the left forearm 423 centered on the reference point is the connection source part of the left forearm 423.
  • the physical length of the left upper arm 422 and the body 411 and the range of motion are limited. Such restrictions based on the structural connection relation of the articulated object, the movable range of the connection point, the length, thickness, and shape of the part are referred to as restriction information.
  • posture estimation apparatus 100 uses the information indicating the characteristics of the individual part in addition to the information indicating the characteristics common to the person using the constraint information of each part, and each part in body model 410. Are extracted from the image information.
  • the body model used by posture estimation apparatus 100 is not limited to the example shown in FIG.
  • the paired parts are left thigh 412 and right thigh 415, left lower leg 413 and right lower leg 416, left foot 414 and right foot 417, left upper arm 422 and right upper arm 419, left forearm 423 and right forearm 420, It is.
  • the paired parts are described as the forearms of the left forearm 423 and the right forearm 420 among the above combinations, but the present invention is not limited to this.
  • FIG. 1 is a block diagram illustrating an example of the configuration of the posture estimation apparatus 100.
  • the configuration of posture estimation apparatus 100 according to the present embodiment is the same as that of the first embodiment. However, in the present embodiment, it is assumed that the multi-joint object to be estimated is a person 340 and the paired parts are forearms (left forearm 423 and right forearm 420).
  • the candidate area extraction unit 110 extracts a plurality of candidate areas estimated to be forearms from an image including part or all of a person to be estimated using a common feature amount.
  • the common feature amount indicates a feature having a shape common to an unspecified number of people on the forearm (for example, only an edge or an edge and a silhouette).
  • the candidate area extracted here may include a candidate area with noise, that is, a candidate area that is erroneously estimated that a clothing pattern or the like is a forearm.
  • the above-mentioned “shape common to an unspecified number of people about the forearm” is determined by, for example, the possible range of the forearm in the person 340 or the size, length, or thickness of the forearm.
  • the possible range, size, length, and thickness of such a forearm are predetermined as human restriction information.
  • the possible range of the forearm in the person 340 may be determined by a distance from a certain reference point on the person 340 (for example, a connection point between the head 418 and the torso 411).
  • the candidate area extraction unit 110 may extract candidate areas based on the constraint information. Thereby, the candidate area extraction unit 110 can extract the area having the highest possibility (likelihood) of the forearm as a candidate area.
  • the part region extraction unit 120 selects a region having the highest likelihood of being the forearm among the plurality of candidate regions extracted by the candidate region extraction unit 110 as a candidate region of the first part of the forearm (the first candidate region Extract as one example).
  • the candidate region of the first part is referred to as “part region”.
  • candidate regions other than the region are referred to as “second region candidate regions” (an example of a second candidate region). There may be a plurality of candidate regions for the second part.
  • the feature amount calculation unit 130 calculates a unique feature amount for each of the region region and the second region candidate region extracted by the region region extraction unit 120.
  • the characteristic feature here refers to a characteristic (for example, at least one of color and texture) unique to the person 340 to be estimated for the forearm.
  • the feature amount correction unit 140 calculates the unique feature amount of one candidate region of the region region and the second region candidate region calculated by the feature amount calculation unit 130, the length, width, And correction (recalculation) based on at least one of the angles. That is, the feature amount correcting unit 140 corrects the unique feature amount of the part region based on at least one of the length, width, and angle of the candidate region of the second part. Note that the feature amount correcting unit 140 may correct the unique feature amount of the candidate region of the second part based on at least one of the length, width, and angle of the part region.
  • the former correction method is preferable because the candidate region having a high likelihood is corrected so as to be matched with the candidate region having a low likelihood, so that the estimation accuracy is higher than that of the latter correction method.
  • the feature amount correcting unit 140 corrects the unique feature amount of the part region or the candidate region for the second part for each pair of the part region and the candidate part for the second part. .
  • the feature amount correcting unit 140 may perform the following processing before correcting the unique feature amount described above. First, the feature amount correction unit 140 calculates the similarity between the unique feature amount of the part region and the unique feature amount of the candidate region of the second part, which is calculated by the feature amount calculation unit 130. Next, the feature amount correcting unit 140 determines whether there is a second region candidate region that can be estimated to be a forearm paired with the region based on the calculated similarity. As a result of this determination, when there is no candidate region for the second part that can be estimated to be the forearm paired with the part region, the feature amount correcting unit 140 corrects the unique feature amount described above.
  • the determination unit 150 determines the candidate region of the part region and the second part. Whether or not is a pair of forearms. By this determination, the posture of the forearm is estimated.
  • the posture estimation apparatus 100 includes, for example, a CPU (Central Processing Unit), a storage medium such as a ROM (Read Only Memory) storing a control program, and a working memory such as a RAM (Random Access Memory).
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the posture estimation apparatus 100 having such a configuration has the following effects.
  • a certain part is shielded by another part. That is, for example, when a part of the left forearm 423 is hidden by the torso 411, the area of the left forearm 423 that can be seen on the image is small. Estimation becomes difficult.
  • a person's clothes are bilaterally symmetric, and the color and texture on the image of the paired part are often the same.
  • the right and left thighs have the same length and the same color because they wear single pants, and the right and left arms have the same pattern and the same sleeve length. It is thought that there are many clothes.
  • the posture estimation apparatus 100 first extracts a plurality of candidate areas from the image using the common feature amount, and divides them into a part area and a second part candidate area. Next, posture estimation apparatus 100 calculates a unique feature amount for each of the part region and the second part candidate region. Next, posture estimation apparatus 100 sets the unique feature amount of any one of the candidate regions of the part region and the second part to at least one of the length, width, and angle of the other candidate region. Modify based on. Next, based on the similarity between the corrected unique feature quantity and the unique feature quantity of the other candidate area, posture estimation apparatus 100 is a part where the part area and the second part candidate area are paired. Determine whether or not.
  • the posture estimation apparatus 100 can narrow down the candidate region of the second part even when there is a candidate region of another part (for example, the trunk 411) around the candidate part of the second part. . Therefore, even if it is difficult to estimate the posture of one of the forearms, or at least one of the color and texture of the part is unknown in advance, the posture estimation apparatus 100 has a plurality of pairs of parts. It becomes possible to estimate the posture of the joint object with high accuracy.
  • FIG. 4 is a flowchart illustrating an example of the operation of the posture estimation apparatus.
  • the candidate area extraction unit 110 performs candidate area extraction processing.
  • the candidate area extraction process is a process of extracting a plurality of forearm candidate areas that are estimation target parts.
  • FIG. 5 is a flowchart illustrating an example of the operation of the candidate area extraction process.
  • the candidate area extraction unit 110 inputs an image from the camera 320. This image is an image of a part or all of the person 340 taken.
  • the candidate area extraction unit 110 extracts a foreground area from the input image. Specifically, the candidate area extraction unit 110 generates a background difference image, and extracts the foreground as an area estimated as a person 340 (hereinafter referred to as “person candidate area”).
  • the background difference image is, for example, an image indicating a difference between a background image captured in a state where no person 340 exists and an input image.
  • pixels having different pixel values between the input image and the background image are expressed in white, and pixels having the same pixel value in the input image and the background image are expressed in black. That is, in the background difference image, an area where the person 340 exists is expressed as a white area, and an area where the person 340 does not exist is expressed as a black area.
  • the candidate region extraction unit 110 extracts a region estimated as the head 418 (hereinafter referred to as “head candidate region”), and calculates a reference point of the person 340.
  • the reference point is a connection point between the head 418 and the trunk 411, but is not limited to this.
  • the candidate area extraction unit 110 extracts a white area as a human candidate area, and extracts an upper area as a head candidate area.
  • the upper region is predetermined as, for example, a region including a portion of a predetermined ratio (for example, 30%) from the upper end to the lower portion of the human candidate region (white region).
  • the candidate area extraction unit 110 extracts a head area from the extracted head candidate area using Hough transform or the like.
  • the Hough transform is a known technique, and five parameters representing the center (X coordinate, Y coordinate), major axis, minor axis, and inclination of the ellipse can be obtained from the edge information.
  • the candidate area extraction unit 110 calculates a point located below the intersection of the major axis of the ellipse and the ellipse as a reference point that is a connection point between the head 418 and the trunk 411.
  • step S1104 a forearm candidate area is extracted.
  • two examples of extracting forearm candidate regions will be described.
  • the first example is performed in the same manner as the extraction of the head candidate region.
  • the candidate region extraction unit 110 extracts a white region as a human candidate region, and extracts a region at a predetermined distance from the reference point as a forearm existence possible region.
  • the predetermined distance is determined in advance as a predetermined magnification (for example, 7.5 times of the short axis) of the size of the head region by learning in advance based on the restriction information of the person 340.
  • the candidate area extraction unit 110 extracts a forearm candidate area from the extracted forearm existence possible area using Hough transform or the like.
  • the Hough transform is a known technique, and five parameters representing the center (X coordinate, Y coordinate), major axis, minor axis, and inclination of the ellipse can be obtained from the edge information.
  • the candidate area extraction unit 110 extracts, as the forearm candidate area, an ellipse obtained in this way, in which the lengths of the major axis and the minor axis satisfy a predetermined condition.
  • the predetermined condition is a range of a predetermined ratio of the size of the head region (for example, the long axis is 1.2 of the length of the long axis of the head region) by learning in advance based on the constraint information of the person 340.
  • the minor axis is smaller than 1.2 times the length of the minor axis of the head region, etc.).
  • the forearm candidate regions extracted by the candidate region extraction unit 110 in this way are defined and output by the center of the ellipse (X coordinate, Y coordinate), major axis, minor axis, and inclination, respectively.
  • a forearm candidate region is extracted from an edge pair likelihood map generated based on a forearm existence possible region.
  • the edge pair likelihood map is a map in which the edge pair likelihood calculated based on the edge pair existing in the vicinity of each pixel and parallel to a predetermined gradient direction is used as the value of each pixel.
  • the edge pair likelihood for each pixel is the likelihood that the pixel existing in the vicinity of the pixel is the edge of the forearm.
  • the likelihood (likelihood) is shown.
  • FIG. 6 is a flowchart showing an example of the operation of the edge pair likelihood map generation process.
  • FIG. 7 is a diagram for explaining edge pair likelihood map generation processing in which the gradient direction is the horizontal direction.
  • the horizontal direction is 0 degree and an edge pair likelihood map in the horizontal direction is generated will be described.
  • step S2001 the candidate area extraction unit 110 selects a step size in the gradient direction of the edge pair likelihood map to be generated.
  • the step size is set to 30 degrees in advance.
  • six edge pair likelihood maps of 0 degrees, 30 degrees, 60 degrees, 90 degrees, 120 degrees, and 150 degrees are generated. Therefore, in that case, the candidate area extraction unit 110 repeats the processing of steps S2002 to S2006 six times.
  • the candidate area extraction unit 110 selects a target pixel from the forearm existence possible area.
  • the candidate area extraction unit 110 selects all the pixels in the candidate area of the second arm region as the target pixel by repeating the following processing.
  • the processing here means that if the X coordinate is incremented by one in the X axis direction from the pixel in the upper left corner (pixel indicated by *) and moved to the end in the X axis direction, the X coordinate is changed to the initial position (pixel indicated by *).
  • X coordinate position) the Y coordinate is incremented by 1 in the Y coordinate direction, and the X coordinate is incremented by 1 in the X axis direction.
  • the method of selecting the target pixel is not limited to this. In FIG. 7, a case where the target pixel 702 is selected from the forearm existence possible region 710 will be described as an example.
  • step S2003 the candidate area extraction unit 110 selects a gradient direction pair pixel.
  • 704 and 705 are selected as the gradient direction pair pixels.
  • the candidate area extraction unit 110 selects two pixels 704 and 705 as gradient direction pair pixels as pixels satisfying the two conditions.
  • the two conditions are that the target pixel 702 is on a straight line that is perpendicular to the horizontal line, and that the distance from the target pixel 702 is a length 703 that is half the thickness 701 of the target part. is there. That is, when generating an edge pair likelihood map with an angle ⁇ , the candidate area extraction unit 110 passes through the pixel of interest and is on a straight line ( ⁇ + 90 degrees) perpendicular to the angle ⁇ and the distance is the thickness 701 of the target part. Two pixels having a half length 703 are selected as gradient direction pair pixels.
  • the thickness 701 of the target region is determined in advance as a predetermined ratio of the size of the head region (for example, 1.2 times the length of the short axis of the head region) by learning in advance. It has been established.
  • the candidate area extraction unit 110 selects a group of pixels within a preset distance from each of the gradient direction pair pixels as a gradient direction pair neighboring area.
  • pixel groups within the distance of the neighborhood length 708 from each of the gradient direction pair pixels 704 and 705 are selected as gradient direction pair neighborhood regions 706 and 707, respectively.
  • the neighborhood length 708 is a predetermined value representing the length of the thickness error of the part.
  • the neighborhood length 708 is determined in advance as a predetermined ratio of the size of the head region (for example, 20% of the length of the short axis of the head region).
  • step S2005 the candidate area extraction unit 110 calculates the edge pair likelihood of the pixel of interest 702. Specifically, the candidate area extraction unit 110 calculates a product of the sum of the luminances of the pixels in the gradient direction pair neighboring area 706 and the sum of the luminances of the pixels in the gradient direction pair neighboring area 707 as the edge pair likelihood. To do.
  • the candidate area extraction unit 110 calculates the number of pixels having a luminance Y greater than or equal to a predetermined value in the gradient direction pair neighboring area 706 and the number of pixels having the luminance Y greater than or equal to the predetermined value in the gradient direction pair neighboring area 707.
  • the product may be calculated as the edge pair likelihood.
  • the candidate area extraction unit 110 can normalize the edge pair likelihood with the sizes of the respective gradient direction pair neighboring areas 706 and 707.
  • step S2006 the candidate area extraction unit 110 determines whether or not the calculation of the edge pair likelihood has been completed for all the pixels in the forearm existable area. If the calculation has been completed for all the pixels (S2006: YES), the candidate area extraction unit 110 determines that the generation of the edge pair likelihood map having the step size selected in step S2001 has been completed, and proceeds to step S2007. On the other hand, if the calculation has not been completed for all the pixels (S2006: NO), the candidate area extraction unit 110 determines that the generation of the edge pair likelihood map of the step size selected in step S2001 has not been completed, and step S2002. Proceed to
  • step S2007 the candidate area extraction unit 110 determines whether or not the calculation of edge pair likelihood has been completed for all gradient directions. If the calculation has been completed for all gradient directions (S2006: YES), the candidate area extraction unit 110 determines that generation of edge pair likelihood maps in all predetermined gradient directions has been completed, and a series of processes Exit. On the other hand, if it is not completed for all gradient directions (S2006: NO), the candidate area extraction unit 110 determines that generation of edge pair likelihood maps for all predetermined gradient directions has not been completed. Therefore, the candidate area extraction unit 110 proceeds to step S2001 in order to generate an edge pair likelihood map in the gradient direction that has not been generated.
  • the candidate area extraction unit 110 extracts pixels whose likelihood of the edge pair likelihood map generated in this way is a predetermined threshold or more as a forearm existence possible area calculated from the edge pair likelihood map.
  • the predetermined threshold is determined in advance as a ratio (for example, 10%) to the maximum edge pair likelihood in the edge pair likelihood map.
  • the candidate area extraction unit 110 extracts the forearm candidate area using the Hough transform from the forearm possible area calculated from the edge pair likelihood map in the same manner as when the forearm candidate area is extracted from the forearm possible area. .
  • the forearm candidate area that is the target part can be extracted with higher accuracy by narrowing down the forearm existence possible area using the restriction information of the forearm that is the target part.
  • step S1200 the part region extraction unit 120 performs a part region extraction process.
  • the part region extraction process extracts a region having a high likelihood of being the forearm among the plurality of candidate regions extracted by the candidate region extraction unit 110 as a “part region” that is a candidate region of the first part of the forearm. To do.
  • the part region extraction unit 120 extracts a part region using the maximum value from the reference point on the contour of the person 340.
  • FIG. 8 is a diagram showing an example of extracting a region using a maximum value from a reference point on the contour.
  • FIG. 8A shows an example of a part of the background difference image of the person 340.
  • a white region indicates a pixel (region where a person 340 exists) having different pixel values between the input image and the background image.
  • reference numeral 801 denotes an example of a reference point of the person 340.
  • the part region extraction unit 120 selects a pixel 802 at the boundary between a white region and a black region (hatched region) immediately above the reference point, and records the pixel position around the left along the boundary.
  • the numbers on the pixels in FIG. 8A indicate the recording order.
  • Pixel 802 is labeled 1 because it was recorded first.
  • the order of recording is, for example, the order of the pixels on the upper left, the lower, the lower left, the lower, and the lower right.
  • FIG. 8B is a graph showing the recording order and the distance between the pixels recorded in that order and the reference point. From this graph, it can be seen that the pixel with the recorded order of 20 takes the maximum value.
  • the part region extraction unit 120 extracts the candidate region extracted by the candidate region extraction unit 110 as the part region with the shortest distance from the maximum value. Specifically, the part region extraction unit 120 uses a candidate region having a smaller distance between the intersection point with the larger distance from the reference point and the smallest point among the intersection points between the major axis of the candidate region and the elliptical circumference as the part region. Alternatively, a candidate region having a small distance from the center of gravity of the candidate region of the second part and the reference point may be used as the part region.
  • the part region extraction unit 120 extracts, as a part region, a candidate region that is least likely to include information on another part because the forearm is separated from the other part (for example, the torso). It becomes possible to do.
  • the part region extraction unit 120 extracts a part region using the edge pair likelihood. Specifically, part region extraction section 120 calculates the sum of edge pair likelihoods in each candidate region on the edge pair likelihood map, and extracts the candidate region having the highest sum as the part region.
  • the part region extraction unit 120 holds the largest edge pair likelihood of the target part, and can extract the candidate area most likely to be the target part as the part region.
  • Part region extraction section 120 extracts a part region by combining the techniques of the first example and the second example.
  • the part region extraction unit 120 is configured such that the distance between the intersection point having the larger distance from the reference point and the maximum point among the intersection points of the major axis of the candidate region of the second part and the elliptical circumference is small, and the candidate A candidate area having a high sum of edge pair likelihoods of the area is extracted as a part area.
  • the part region extraction unit 120 may extract the candidate region having the highest value calculated using the following mathematical formula (1) as the part region.
  • each value is as follows.
  • Si is the score of the i-th candidate region.
  • Max [L] is the maximum value of the distance between the candidate area and the reference point. Li is the maximum value of the distance between the i-th candidate region and the maximum point.
  • Pi is the sum of the edge pair likelihoods of the i-th candidate region.
  • Max [P] is the maximum value of the sum of the likelihood of edge pairs in the candidate area.
  • the weighting constant is set to the same ratio in an environment in which the distance between the candidate region and the reference point and the edge pair likelihood are reliable to the same extent. On the other hand, in an environment where the edge pair likelihood is more reliable than the distance between the candidate region and the reference point, the weight constant is set by prior learning so that n is larger than m.
  • the part region extraction unit 120 can select the candidate region that best satisfies both the conditions of the distance from the reference point and the likely edge pair likelihood from the plurality of candidate regions. That is, it becomes possible to extract the candidate area that seems to be the most estimated target part with higher accuracy.
  • step S1300 the feature amount calculation unit 130 calculates a unique feature amount for each region of the region and the second region candidate region extracted by the region region extraction unit 120.
  • the first example is a luminance histogram, which is a known technique of color information.
  • the luminance histogram which is an example of the unique feature amount, is information on 256 bins in which the value of the luminance of the pixels included in the candidate regions of the second regions is a value from 0 to 255.
  • the second example is an edge pair likelihood histogram of texture information.
  • the edge pair likelihood histogram which is an example of the unique feature amount is a parallel line obtained by normalizing the value of the edge pair likelihood included in the candidate region of each second part to be a value from 0 to 1.
  • Information on the number of bins according to the number of steps in the direction (for example, 8 bins in the case of 8-direction edge pair likelihood).
  • the feature amount correction unit 140 calculates the unique feature amount of one candidate region of the region region and the second region candidate region calculated by the feature amount calculation unit 130 as the other candidate region. Modify based on at least one of length, width, and angle. For example, the feature amount correcting unit 140 corrects the unique feature amount of the part region based on at least one of the length, width, and angle of the candidate region of the second part. In the present embodiment, an example of recalculating the unique feature amount of the part region among the part region and the candidate region of the second part will be described, but the present invention is not limited thereto. When there are a plurality of candidate regions for the second part, the feature amount correcting unit 140 corrects the unique feature amount described above for each pair of the part region and the candidate region for the second part.
  • the reason why the feature amount correcting unit 140 performs the feature amount correcting process is that the feature amount calculating unit 130 may not be able to correctly acquire (calculate) the characteristic feature amount depending on the position or shape of the candidate region of the part region and the second part. Because. Here, three examples in the case where the unique feature amount cannot be acquired correctly will be described.
  • FIG. 10 shows an example of the posture of the person 340 to be estimated.
  • FIG. 10A is an example of a body model in which a person stretches his right arm forward and lightly bends his left arm as viewed from the right side.
  • the posture shown in FIG. 10A is seen, for example, when a person acquires a product from a product shelf, has a basket or bag on the left hand, and acquires the product with the right hand.
  • the right forearm 420 is entirely visible.
  • about half of the left forearm 423 is shielded by the body 411 which is another part, and only the tip part is visible.
  • FIG. 10B is an example showing a forearm region 901 and a second region candidate region 902 extracted from an image of the person 340 in FIG. 10A.
  • the right forearm 420 is separated from other parts, extends perpendicular to the direction of the camera 320, and has a long long axis. Therefore, the candidate area extracted by the right forearm 420 is extracted as a part area 901 by the part area extracting unit 120.
  • FIG. 13 shows an example of an image and its histogram in the first example.
  • the feature amount extracted from the forearm region 901 includes the skin color or texture features of the clothes and arms.
  • the feature amount extracted from the candidate region 902 of the second part includes only the feature amount of the arm skin.
  • FIG. 13A shows an example of the right arm image shown in FIG.
  • FIG. 13B shows an example of the RGB histogram of FIG. 13A.
  • FIG. 13C shows an example of the luminance histogram of FIG. 13A.
  • FIG. 13D shows an example of the image of the left arm shown in FIG. 10B and shows a candidate region 902 for the second part.
  • FIG. 13E shows an example of the RGB histogram of FIG. 13D.
  • FIG. 13F shows an example of the luminance histogram of FIG. 13D.
  • the histogram shows the distribution of values for each pixel in a certain area.
  • the dark value of the image (the darkest value is level 0) is displayed on the left side of the graph, and the bright value (the brightest value is level 255) is displayed on the right side of the graph. Is done.
  • the vertical axis of the graph indicates the total number of pixels at each level.
  • the RGB histogram is a graph that outputs the histogram of each color channel of red, green, and blue separately and then sums them for each level.
  • the RGB histogram is summed for each level.
  • three levels from 0 to 255 may be arranged to form a histogram of 768 levels without overlapping.
  • the brightness histogram is a histogram of pixel brightness values.
  • the region 901 includes clothes and skin information, whereas the second region candidate region 902 mainly includes only skin information. Yes.
  • the feature amount correction unit 140 needs to acquire a feature amount from a region that is half the tip of the region region 901 and the candidate region 902 of the second region.
  • FIG. 10C shows an example of the texture of the part region 901 and the second part candidate region 902. Specifically, it is assumed that a person 340 is wearing a striped shirt.
  • FIG. 10D shows the reference point 900, the part region 901, and the candidate region 902 for the second part in FIG. 10B.
  • an angle ⁇ 904 is an angle indicating a difference in inclination between the part region 901 and the second part candidate region 902.
  • FIG. 14 shows an example of a histogram in the second example.
  • FIG. 14 shows a texture histogram when the person shown in FIG. 10B wears the striped clothes shown in FIG. 10C.
  • FIG. 14A shows a texture histogram of the part region 901.
  • FIG. 14B shows a texture histogram of the candidate region 902.
  • the texture histogram in FIG. 14 shows the distribution of edge pair angles normalized to 8 levels.
  • the distribution of edge pairs in the horizontal direction (level 1) from the leftmost side of the graph is shown.
  • the edge pair in the 157.5 degree direction (level 8) is shown on the right side of the graph. Distribution is shown.
  • the texture histogram of the part region 901 in FIG. 14A as shown in FIG. 10C, the number of edge pairs in the vertical direction increases, and the value of level 4 indicating the distribution of edge pairs in the vertical direction becomes high.
  • the texture histogram of FIG. 14B the direction of 135 degrees clockwise from level 1 (horizontal direction) (level 7) is the largest.
  • the value of the cosine similarity of the feature amount of the part region 901 and the candidate region of the second part is not high, and the candidate region 902 of the second part is not extracted as a part to be paired with the part region 901.
  • the feature amount correction unit 140 needs to acquire a feature amount after rotating one of the region region 901 and the candidate region 902 of the second region by an angle ⁇ 904. There is.
  • FIG. 12 shows an example of the posture of the person 340.
  • FIG. 12A shows a body model in which the right upper arm 419 is lowered and the elbow is bent and the tip of the right forearm 420 is positioned at the shoulder, as viewed from the front.
  • FIG. 12B shows a body model when the posture shown in FIG. 12A is viewed from the right side. In this case, in the image from the front, the upper right arm 419 is not visible, and only the right forearm 420 is visible.
  • FIG. 15 shows an example of a histogram in the third example.
  • the texture histogram of FIG. 15 shows the distribution of edge pair angles and intervals at 24 levels without normalization.
  • Each histogram in FIG. 15 shows the distribution of edge pairs in the horizontal direction from the leftmost side of the graph. In the order of 22.5 degrees in the clockwise direction, the distribution of edge pairs in the direction of 157.5 degrees on the right side of the graph. Is shown. This is the same as the histogram of FIG.
  • each histogram in FIG. 15 shows the thickness of the arm pair in three directions (the length indicating the thickness of the arm, the length indicating the thickness of the arm, and half the length for each direction). The distribution of quarter length) is shown. In this way, a histogram having a level of 8 (direction) ⁇ 3 (thickness) is obtained.
  • the leftmost level of the graph indicates the distribution of edge pairs in which the direction of the edge pair is horizontal and the interval is the thickness of the arm.
  • the second level shows the distribution of edge pairs in which the direction of the edge pair is horizontal and the interval is half the thickness of the arm.
  • the third level shows the distribution of edge pairs in which the direction of the edge pair is horizontal and the interval is one-fourth the thickness of the arm.
  • FIG. 12C shows a schematic diagram when the person 340 shown in FIG. 12A wears a shirt with a stripe on the forearm.
  • the part region extraction unit 120 extracts the left forearm 423 as a part region and the right forearm 420 as a second part candidate region.
  • the unique feature amounts of the part region (left forearm 423 shown in FIG. 12C) and the second region candidate region (right forearm 420 shown in FIG. 12C) calculated by the feature amount calculation unit 130 are both shown in FIG. 15A. It is represented by a histogram and has high similarity.
  • FIG. 12D shows a body model of a posture in which a person has his right arm straight forward and down and his left arm down.
  • FIG. 12E shows a body model of the posture shown in FIG. 12D viewed from the right side.
  • the left forearm 423 is extracted as a region, but two other candidate regions for the second region are extracted.
  • the candidate area extraction unit 110 uses two areas, a combination of the upper right arm 419 and the right forearm 420 (hereinafter referred to as “merged area”), and a right forearm 420 as candidate areas for the second part. Extraction is expected.
  • the extracted merged area is referred to as “second part candidate area A”
  • the extracted right forearm 420 is referred to as “second part candidate area B”.
  • FIG. 12F shows a schematic diagram when the person 340 shown in FIG. 12D wears the same striped shirt as FIG. 12C.
  • the characteristic feature amount of the part region (left forearm 423 shown in FIG. 12F) calculated by the feature amount calculation unit 130 is a histogram shown in FIG. 15A with a large distribution of thick stripe edge pairs.
  • the characteristic features of the candidate region A of the second part (upper right arm 419 and right forearm 420 shown in FIG. 12F) and the candidate part B of the second part (right forearm 420 shown in FIG. 12F) are thin edge pairs. Extracted. Therefore, the unique feature amount of the candidate region A of the second part is the histogram shown in FIG. 15B, and the unique feature amount of the candidate region B of the second part is the histogram shown in FIG. 15C.
  • the feature amount of the texture of the part region calculated by the feature amount calculation unit 130 is different from the feature amount of the texture of the candidate region A of the second part. Further, the feature amount of the texture of the part region calculated by the feature amount calculation unit 130 and the feature amount of the texture of the candidate region B of the second part are different.
  • the similarity of the feature amount is increased, and the candidate area of the second part is It may be possible to estimate correctly.
  • the part region is the left forearm 423 shown in FIG. 12F and the candidate region of the second part is the right forearm 420 (second part candidate region B) shown in FIG. That is, when the part region is reduced in accordance with the length of the long axis of the candidate region B of the second part, the feature amount of the thin stripes illustrated in FIG. 15C is extracted in the same manner as the candidate region B of the second part.
  • the part region is the left forearm 423 shown in FIG. 12F and the candidate regions of the second part are the upper right arm 419 and the right forearm 420 (second part candidate region A) shown in FIG. become.
  • the recalculation region does not change and the feature amount is also different. Therefore, it is correctly estimated that the candidate region of the second part that is paired with the part region is not the candidate region A of the second part but the candidate region B of the second part.
  • the feature amount correcting unit 140 performs the feature amount correcting process in step S1400.
  • FIG. 9 shows an example of the flow of feature amount correction processing in step S1400.
  • the feature quantity correction unit 140 performs a feature quantity calculation area extraction process for a pair of a part area and a second part candidate area whose cosine similarity does not satisfy a predetermined condition.
  • the predetermined condition may be set by a relative value of a plurality of calculated cosine similarity (for example, the highest cosine similarity).
  • the predetermined condition may be one in which a threshold of cosine similarity is set as an absolute value (for example, the cosine similarity is greater than 0.8).
  • the predetermined condition may be set by both the relative value and the absolute value.
  • step S1402 the feature amount correcting unit 140 performs a process of recalculating (correcting) the unique feature amount from the recalculation area.
  • the recalculation of the unique feature amount here is performed in the same manner as the calculation of the unique feature amount of the feature amount calculation unit 130.
  • the feature amount correcting unit 140 may use the same unique feature amount as that used for the calculation of the unique feature amount in the feature amount calculating unit 130, or may calculate the unique feature amount of both color and texture. It may be. By calculating a plurality of unique feature amounts, more robust determination can be performed.
  • FIG. 11 shows an example of the feature quantity calculation region extraction processing flow in step S1401.
  • step S14011 the feature amount correcting unit 140 uses the intersection A (an example of the first intersection) with a short distance from the reference point 900 as the intersection of the major axis of the second region candidate region 902 and the elliptical circumference, and the reference point.
  • An intersection B (an example of a second intersection) having a long distance from 900 is extracted.
  • the feature amount correcting unit 140 determines whether there is a possibility that the candidate region 902 of the second part is blocked by another part (for example, the torso 411) (hereinafter referred to as “shielding possibility”). To do. This determination is made based on the distance and angle from the reference point 900 to the intersection A and the distance and angle from the reference point 900 to the intersection B. Specifically, the feature amount correcting unit 140 determines whether or not the intersection A and the intersection B are included in an area in which another part may exist (hereinafter referred to as “another part region”).
  • the other part region is a region calculated and set based on the restriction information of the reference point 900 and the person 340.
  • the other part region may be a rectangular region whose width is four times the minor axis of the head and whose length is eight times the minor axis of the head with reference to the reference point 900.
  • step S14012 when the intersection point A is included in the other part region and the intersection point B is not included, the feature amount correction unit 140 determines that there is a possibility of shielding (S14013: YES). The process proceeds to step 14024.
  • step S14012 when the intersection point A is not included in the other part region or the intersection point B is included, the feature amount correcting unit 140 determines that there is no possibility of occlusion (S14013: NO), the process proceeds to step S14015.
  • the feature amount correcting unit 140 extracts a region for recalculating the unique feature amount, that is, a recalculation region, from the part region 901.
  • the feature amount correcting unit 140 is based on the ratio between the length of the target part that is the constraint information (for example, four times the short axis of the head region) and the long axis of the candidate region 902 of the second part.
  • a ratio R for example, 20%
  • the feature amount correcting unit 140 extracts a region corresponding to the area ratio R from the tip of the part region 901 as a recalculation region.
  • step S14014 If only color information is used for recalculation of the feature amount, the process may be terminated in step S14014.
  • FIG. 10 illustrates an example in which the second region candidate region 902 includes only the skin of the arm, but the second region candidate region 902 may also include clothes.
  • the similarity cannot be determined with high accuracy only by the processing in step S14014. This is because the texture of the clothes has different feature amounts depending on the arm angle.
  • the feature amount correction unit 140 performs the processing after step S14015.
  • step S14015 when calculating the texture feature amount, the feature amount correction unit 140 determines whether the angle formed between the region region 901 and the second region candidate region 902 is smaller than a predetermined value (angle ⁇ 904 shown in FIG. 10D). Is an angle smaller than a predetermined value).
  • the predetermined value indicates an estimation error of the angle of the candidate area, and is a value obtained by learning in advance (for example, 15 degrees).
  • step S14015 If the angle is smaller than the predetermined value as a result of the determination in step S14015 (S14015: YES), the feature amount correcting unit 140 proceeds to the process of step S14017.
  • step S14015 if the angle is not smaller than the predetermined value (S14015: NO), the feature amount correcting unit 140 proceeds to the process of step S14016.
  • step S14016 the feature amount correcting unit 140 rotates the recalculation area extracted in step S14014 using ⁇ 904, which is the angle difference between the part area 901 and the second part candidate area 902.
  • step S14014 is not performed (S14013: NO)
  • the feature amount correction unit 140 rotates the region 901 using ⁇ 904.
  • step S14017 the feature amount correcting unit 140 compares the length of the long axis of the part region 901 with the length of the long axis of the candidate region 902 of the second part, and the difference in length between the long axes is smaller than a predetermined value. Determine whether or not.
  • the predetermined value indicates an estimation error of the long axis, and is a value set by the ratio of the long axis of the head region (10% of the head region).
  • step S14017 If the result of determination in step S14017 is that the major axis length difference is smaller than the predetermined value (S14017: YES), the feature amount correction unit 140 proceeds to the processing of step S14018.
  • step S14017 if the difference in length between the major axes is not smaller than the predetermined value (S14017: NO), the feature amount correction unit 140 outputs the recalculation area extracted in step S14016, A series of processing ends. If the difference in the lengths of the major axes is not smaller than the predetermined value and the process of step S14016 has not been performed in advance, the feature amount correction unit 140 outputs the recalculation area extracted in step S14014. Then, a series of processing ends.
  • the feature amount correcting unit 140 re-processes the part region 901. It outputs as a calculation area
  • the feature amount correcting unit 140 reduces the part region 901 to be a recalculation region. Specifically, the feature amount correcting unit 140 reduces the part region 901 in accordance with the ratio of the long axis length of the candidate region 902 of the second part to the length of the long axis of the part region 901, and reduces it. A series of processing ends as a recalculation area. For example, when the length of the major axis of the part region 901 is 6 pixels and the length of the major axis of the candidate region 902 of the second part is 3 pixels, the feature amount correcting unit 140 sets the ratio to 50% or the like. Then, the feature amount correcting unit 140 reduces the area of the part region 901 to 50% in accordance with the ratio of 50%. Then, the feature amount correcting unit 140 sets the reduced region 901 as a recalculation region.
  • the second part that becomes a pair of the part region 901 is used.
  • the candidate region 902 for the part can be correctly estimated.
  • step S14017 may be performed first and step S14015 may be performed thereafter.
  • step S14018 the feature amount correction unit 140 has been described as reducing the recalculation area. However, the recalculation area may be enlarged.
  • step S1500 the determination unit 150 determines whether or not the part region 901 and the second part candidate region 902 are paired parts. Specifically, the determination unit 150 makes a determination using the similarity between the feature amounts calculated by the feature amount correction unit 140 in the same manner as the method of the feature amount correction unit 140.
  • the similarity may be calculated using the following mathematical formula (2).
  • each value is as follows.
  • CSi ′ represents the similarity score of the candidate region 902 of the i-th second part.
  • Max [C] represents the maximum value of the similarity between the part region 901 and the second part candidate region 902 based on the color feature amount.
  • Ci represents the similarity based on the color feature amount of the candidate region 902 of the i-th second region and the region 901.
  • Ti represents the similarity according to the texture feature amount of the candidate region 902 of the i-th second region and the region 901.
  • Max [T] indicates the maximum value of the similarity according to the texture feature amount of the region 901 and the candidate region 902 of the second region.
  • the weighting constant is set to the same ratio in an environment where the color feature quantity and the texture feature quantity can be trusted to the same extent.
  • the weight constant is set by prior learning such that m is larger than n in an environment where the color feature value is more reliable than the texture feature value.
  • the determination unit 150 extracts the candidate region 902 of the second part having the largest value of CSi ′ as a part that is paired with the part region 901. Further, when there is one candidate region 902 for the second part, the determination unit 150 extracts a part that is paired with the part area if CSi ′ is equal to or greater than a predetermined value.
  • the predetermined value is set in advance by learning.
  • the determination unit 150 can extract the part paired with the part region with higher accuracy by using the two feature amounts by weighting them according to the environment.
  • step S1500 This completes the description of the specific example of the determination process in step S1500.
  • the operation of the posture estimation apparatus 100 described in the first and second embodiments can be realized by software in cooperation with hardware.
  • the multi-joint object has been described as a person, but the present invention is not limited to a person.
  • the feature amount correction unit 140 may perform the following feature amount determination process before correcting the unique feature amount.
  • the outline of the feature amount determination process is as follows. First, the feature amount correction unit 140 calculates the similarity between the unique feature amount of the part region and the unique feature amount of the candidate region of the second part, which is calculated by the feature amount calculation unit 130. Next, the feature amount correcting unit 140 determines whether there is a second region candidate region that can be estimated to be a forearm paired with the region based on the calculated similarity. As a result of this determination, when there is no candidate region for the second part that can be estimated to be the forearm paired with the part region, the feature amount correcting unit 140 corrects the unique feature amount described above.
  • the feature amount correcting unit 140 is described as using a cosine similarity which is a known technique in calculating the similarity, but is not limited to the cosine similarity.
  • the cosine similarity is considered to be a multidimensional variable as a vector, and takes a maximum value of 1 when the vector directions match, takes 0 when the vector is orthogonal, and takes a minimum value of -1 when the direction is reversed.
  • Expression (3) of the cosine similarity used by the feature amount correcting unit 140 is shown below.
  • each value is as follows.
  • k represents the number of feature bins.
  • x i indicates the value of the i-th bin of the feature value of the region.
  • y i indicates the value of the i-th bin of the feature quantity of the candidate region of the second part.
  • the feature amount correcting unit 140 calculates the cosine similarity for each pair of the part region 901 and the second part candidate region 902. Then, the feature amount correcting unit 140 determines, for each pair, whether or not the candidate region 902 of the second part has a feature amount similar to the part region 901 based on the calculated cosine similarity.
  • the feature amount correcting unit 140 may extract the candidate region 902 of the second part having the largest cosine similarity value as a candidate area that forms a pair with the part region 901.
  • the posture estimation apparatus 100 identifies the candidate region 902 of the second part that has a high possibility of the part among the candidate areas 902 of the second part extracted based on the information indicating the shape common to the person 340. . Then, the posture estimation apparatus 100 uses the feature amount indicating information specific to the individual person's part, and the similarity between the part region 901 and the identified candidate region 902 of the second part, the part region 901, and other regions The similarity with the candidate region 902 of the second part is compared. As a result, posture estimation apparatus 100 can accurately estimate a pair of parts even when there are a plurality of second part candidate regions 902.
  • the posture estimation device is a posture estimation device that estimates a paired part based on an image including all or part of an articulated object having a paired part.
  • a candidate area extracting unit that extracts a plurality of candidate areas of the paired parts using a common feature amount indicating a shape characteristic common to an unspecified number of multi-joint objects with respect to the paired parts; and the plurality of candidates
  • a region extraction unit that extracts a first candidate region having a maximum likelihood as a paired region from a region, and sets a region other than the first candidate region as a second candidate region; the first candidate region and the first candidate region;
  • a feature amount calculation unit that calculates a unique feature amount indicating a feature unique to the multi-joint object to be estimated for the paired parts, and the first candidate region and the second candidate region
  • One candidate A feature amount correcting unit that corrects the unique feature amount of the region based on at least one of the length, width, and angle of the other candidate
  • the feature amount correction unit calculates a similarity between the unique feature amount of the first candidate region and the unique feature amount of the second candidate region, and the calculated similarity And determining whether or not there is the second candidate area that can be estimated to be paired with the first candidate area, and as a result of the determination, the second candidate area that can be estimated to be paired with the first candidate area If there is no existing feature, the characteristic feature amount of the one candidate region is corrected.
  • the feature amount correction unit corrects the unique feature amount of the first candidate region based on at least one of a length, a width, and an angle of the second candidate region. .
  • the feature amount correction unit includes a first intersection point having a short distance from a reference point as an intersection point between the major axis of the second candidate region and an elliptical circumference, and the reference point from the reference point.
  • a second intersection point having a long distance is extracted, and the second candidate region is determined based on whether the first intersection point and the second intersection point are included in a region where another part may exist. If there is a possibility of being shielded by the region, if there is a possibility of being shielded, a part of the first candidate area is extracted, and a characteristic amount is extracted for a part of the extracted first candidate area Is calculated.
  • the feature amount correction unit determines whether an angle formed by the first candidate region and the second candidate region is 0 degrees, and when the angle is 0 degrees, If not, a part or all of the first candidate region is rotated using the angle.
  • the feature amount correction unit compares the length of the long axis of the first candidate region with the length of the long axis of the second candidate region, and determines the length of the long axis. When the difference is smaller than a predetermined value, or when the lengths of the major axes are equal, according to the ratio of the major axis length of the second candidate region to the major axis length of the first candidate region, The first candidate area is reduced, and the unique feature amount is calculated for the reduced first candidate area.
  • the candidate area extraction unit extracts the plurality of candidate areas based on restriction information predetermined for the characteristics of the paired parts.
  • the common feature amount is only an edge, or an edge and a silhouette.
  • the unique feature amount is at least one of a color and a texture.
  • the posture estimation method is a posture estimation method for estimating a paired part based on an image including all or part of an articulated object having a paired part. Extracting a plurality of candidate regions for the paired regions using a common feature amount indicating features of a shape common to an unspecified number of unjointed multi-joint objects, and from the plurality of candidate regions, the pair Extracting the first candidate area having the maximum likelihood that is a part to be a second candidate area other than the first candidate area, and for each of the first candidate area and the second candidate area, Calculating a unique feature amount indicating a feature unique to the multi-joint object to be estimated for the paired parts; and a unique feature amount of one candidate region of the first candidate region and the second candidate region.
  • the posture estimation program of the present disclosure is a posture estimation program that is executed by a computer of an apparatus that estimates a paired part based on an image including all or part of an articulated object having a paired part, A process of extracting a plurality of candidate regions of the paired parts using a common feature amount indicating a feature of a shape common to an unspecified number of articulated objects with respect to the paired parts; A process of extracting a first candidate area having a maximum likelihood of being a paired part from a candidate area and setting a region other than the first candidate area as a second candidate area; and the first candidate area and the second candidate area For each of the candidate areas, one of the first candidate area and the second candidate area, and a process of calculating a unique feature amount indicating a characteristic unique to the multi-joint object to be estimated for the paired parts, Processing for correcting the unique feature amount of the candidate region based on at least one of the length, width, and angle of the other candidate region, the corrected unique feature amount, and the unique feature
  • the posture estimation apparatus, posture estimation method, and posture estimation program according to the present invention are useful for a device, a method, and a program that can accurately estimate the posture of an articulated object having a pair of parts.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

 対となる部位を有する多関節物体の姿勢を高精度に推定できる姿勢推定装置。この装置では、候補領域抽出部(110)は、共通特徴量を用いて画像から複数の候補領域を抽出する。部位領域抽出部(120)は、部位の尤度が高い部位領域と、それ以外の第二部位の候補領域とに分ける。特徴量算出部(130)は、部位領域および第二部位の候補領域ごとに固有特徴量を算出する。特徴量修正部(140)は、部位領域および第二部位の候補領域のうち、いずれか一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度の少なくとも1つに基づいて修正する。判定部(150)は、修正した固有特徴量と、他方の候補領域の固有特徴量との類似度に基づいて、部位領域と第二部位の候補領域とが対となる部位であるか否かを判定する。

Description

姿勢推定装置、姿勢推定方法、および姿勢推定プログラム
 本発明は、対となる部位をもつ多関節物体の姿勢を推定する、姿勢推定装置、姿勢推定方法、および姿勢推定プログラムに関する。
 近年、撮影された動画像の画像データに基づく人の姿勢推定に関する研究が、盛んに行われている。姿勢推定装置は、動画像から人の行動をコンピュータ解析により判定することができ、人手に頼らずに行動解析を行うことができる。行動解析の適用アプリケーションとしては、例えば、街頭での異常行動検知、店舗での購買行動分析、工場における作業効率化支援、およびスポーツにおけるフォーム指導がある。
 人の姿勢を推定する場合は、例えば、部位の姿勢の推定が可能であることが望まれる。ここで、部位とは、多関節物体の構成要素(例えば、頭部、胴体、腕、足など)を示す。また、部位の姿勢とは、人の姿勢における部位の位置や角度を示す。人は動作によって部位の姿勢を変えるため、部位の位置が推定できれば、その人が何をしているのか、これから何をしようとしているかといった動作の推定などが可能となる。
 このような人の姿勢推定は、人に方位センサなどの装置を取り付けることなく行えることが望ましい。人に装置を取り付ける推定手法は、不特定の人を推定対象とすることが困難であり、推定対象が多数の場合にはコストが掛かるからである。
 そこで、人を撮影した映像に基づいて、当該人の姿勢を推定する技術が、例えば特許文献1に記載されている。
 特許文献1に記載の技術(以下、「従来技術1」という)は、撮影映像から人物シルエットの重心を求め、重心から人物シルエットの輪郭線上の各点までの距離を算出し、重心から上方に伸びる垂直軸を検出して人物シルエットの輪郭線との交点を頭頂点とする。そして、従来技術1は、頭頂点を始点とし反時計回りに算出した距離が極大になる点を探索し、最初の極大になる点を右手の先と判定し、次の極大になる点を、右足、左足、左手の先と判定する。この従来技術1によれば、人に方位センサなどの装置を取り付けることなく、人の姿勢を推定することができる。
 また、人を撮影した画像に基づいて、当該人の姿勢を推定する技術が、例えば特許文献2に記載されている。
 特許文献2に記載の技術(以下、「従来技術2」という)は、ブルーの背景において、ブルー以外の色で、かつ部位毎に色の異なる衣服を着用した人を撮影する。これにより、従来技術2は、背景画像と人物画像との色情報の違いから人物シルエットを取得し、衣服の色情報から人の部位を検出する。この従来技術2を用いれば、人にセンサなどの装置を取り付けることなく、人の姿勢を推定することができる。
特許第3400961号公報 特開2005-339100号公報
 しかしながら、従来技術1および従来技術2は、撮影条件によっては、人の姿勢を高精度に推定することができないという課題を有する。なぜなら、従来技術1は、両腕、両足同士が交差したり、腕または足と胴体が重なったりしている場合、人物シルエット内に腕または足が重なるため、腕または足の姿勢を推定できないからである。また、従来技術2は、特定の背景および特定の衣服で人を撮影しなければ、人の部位を検出できないからである。
 本発明の目的は、対となる部位を有する多関節物体の姿勢を高精度に推定することである。
 本発明の一態様に係る姿勢推定装置は、対となる部位を有する多関節物体の全部または一部を含む画像に基づいて、前記対となる部位を推定する姿勢推定装置であって、前記画像から、前記対となる部位について不特定多数の多関節物体に共通する形状の特徴を示す共通特徴量を用いて、前記対となる部位の候補領域を複数抽出する候補領域抽出部と、前記複数の候補領域から、前記対となる部位である尤度が最大である第1候補領域を抽出し、前記第1候補領域以外を第2候補領域とする部位領域抽出部と、前記第1候補領域および前記第2候補領域のそれぞれについて、前記対となる部位について推定対象の多関節物体に固有の特徴を示す固有特徴量を算出する特徴量算出部と、前記第1候補領域および前記第2候補領域のうち、一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度のうち少なくとも1つに基づいて修正する特徴量修正部と、前記修正した固有特徴量と、前記他方の候補領域の固有特徴量との類似度に基づいて、前記第1候補領域と前記第2候補領域とが前記対となる部位であるか否かを判定する判定部と、を備える。
 本発明の一態様に係る姿勢推定方法は、対となる部位を有する多関節物体の全部または一部を含む画像に基づいて、前記対となる部位を推定する姿勢推定方法であって、前記画像から、前記対となる部位について不特定多数の多関節物体に共通する形状の特徴を示す共通特徴量を用いて、前記対となる部位の候補領域を複数抽出するステップと、前記複数の候補領域から、前記対となる部位である尤度が最大である第1候補領域を抽出し、前記第1候補領域以外を第2候補領域とするステップと、前記第1候補領域および前記第2候補領域のそれぞれについて、前記対となる部位について推定対象の多関節物体に固有の特徴を示す固有特徴量を算出するステップと、前記第1候補領域および前記第2候補領域のうち、一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度のうち少なくとも1つに基づいて修正するステップと、前記修正した固有特徴量と、前記他方の候補領域の固有特徴量との類似度に基づいて、前記第1候補領域と前記第2候補領域とが前記対となる部位であるか否かを判定するステップと、を有する。
 本発明の一態様に係る姿勢推定プログラムは、対となる部位を有する多関節物体の全部または一部を含む画像に基づいて、前記対となる部位を推定する装置のコンピュータに実行させる姿勢推定プログラムであって、前記画像から、前記対となる部位について不特定多数の多関節物体に共通する形状の特徴を示す共通特徴量を用いて、前記対となる部位の候補領域を複数抽出する処理と、前記複数の候補領域から、前記対となる部位である尤度が最大である第1候補領域を抽出し、前記第1候補領域以外を第2候補領域とする処理と、前記第1候補領域および前記第2候補領域のそれぞれについて、前記対となる部位について推定対象の多関節物体に固有の特徴を示す固有特徴量を算出する処理と、前記第1候補領域および前記第2候補領域のうち、一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度のうち少なくとも1つに基づいて修正する処理と、前記修正した固有特徴量と、前記他方の候補領域の固有特徴量との類似度に基づいて、前記第1候補領域と前記第2候補領域とが前記対となる部位であるか否かを判定する処理と、を実行させる。
 本発明によれば、対となる部位を有する多関節物体の姿勢を高精度に推定することができる。
本発明の実施の形態1に係る姿勢推定装置の構成の一例を示すブロック図 本発明の実施の形態2に係る姿勢推定システムの構成の一例を示すシステム構成図 本発明の実施の形態2における身体モデルの一例を示す図 本発明の実施の形態2に係る姿勢推定装置の動作の一例を示すフローチャート 本発明の実施の形態2における候補領域抽出処理の一例を示すフローチャート 本発明の実施の形態2におけるエッジペア尤度マップ生成処理の一例を示すフローチャート 本発明の実施の形態2におけるエッジペア尤度マップ生成処理を説明するための図 本発明の実施の形態2における極大値を説明するための図 本発明の実施の形態2における特徴量修正処理の一例を示すフローチャート 本発明の実施の形態2における人の姿勢の一例を示す図 本発明の実施の形態2における特徴量算出領域抽出処理の一例を示すフローチャート 本発明の実施の形態2における人の姿勢の一例を示す図 本発明の実施の形態2における固有特徴量を正しく算出できない場合の画像とそのヒストグラムの一例を示す図 本発明の実施の形態2における固有特徴量を正しく算出できない場合のヒストグラムの一例を示す図 本発明の実施の形態2における固有特徴量を正しく算出できない場合のヒストグラムの一例を示す図
 以下、本発明の各実施の形態について、図面を参照して詳細に説明する。
 (実施の形態1)
 本発明の実施の形態1は、本発明の基本的態様の一例である。
 図1は、本実施の形態に係る姿勢推定装置の構成の一例を示すブロック図である。
 図1において、姿勢推定装置100は、候補領域抽出部110、部位領域抽出部120、特徴量算出部130、特徴量修正部140、および判定部150を有する。
 なお、本実施の形態の姿勢推定装置100は、多関節物体を構成する「対となる部位」の姿勢を推定する。ここで、「部位」とは、多関節物体の構成要素である。また、「部位の姿勢」とは、部位の位置や角度を意味する。
 候補領域抽出部110は、推定対象となる多関節物体の一部または全部を含む画像から、共通特徴量を用いて、推定対象部位の候補領域を複数抽出する。「共通特徴量」とは、対となる部位について不特定多数の多関節物体に共通する形状の特徴(例えば、エッジのみ、または、エッジおよびシルエット)を示す。また、ここで抽出される候補領域は、ノイズがある候補領域を含む場合がある。なお、「推定対象部位」とは、部位の姿勢の推定対象である、対となる部位である。また、対となる部位のうち、一方の部位を「第一部位」、もう一方の部位を「第二部位」と呼ぶ。例えば、対となる部位が前腕である場合、右前腕を第一部位、左前腕を第二部位と呼ぶ。
 なお、上記「対となる部位について不特定多数の多関節物体に共通する形状」は、例えば、多関節物体における部位の存在可能範囲、または、部位の大きさ、長さ、太さ、あるいは断面の形状や、多関節物体を撮影する角度によって定まる。このような部位についての、存在可能範囲、大きさ、長さ、太さ、断面の形状、または多関節物体を撮影する角度は、多関節物体の制約情報として予め定められている。そして、候補領域抽出部110は、上記制約情報に基づいて候補領域を抽出するようにしてもよい。これにより、候補領域抽出部110は、推定対象部位である可能性(尤度)が最も高い領域を、候補領域として抽出することができる。
 部位領域抽出部120は、候補領域抽出部110で抽出した複数の候補領域のうち、推定対象部位である尤度が最も高い領域を、第一部位の候補領域(第1候補領域の一例)として抽出する。ここで、第一部位の候補領域を「部位領域」と呼ぶ。一方、部位領域以外の候補領域は「第二部位の候補領域」(第2候補領域の一例)と呼ぶ。第二部位の候補領域は複数存在する場合もある。
 特徴量算出部130は、部位領域抽出部120で抽出した、部位領域および第二部位の候補領域のそれぞれについて、固有特徴量を算出する。ここで算出される「固有特徴量」とは、対となる部位について推定対象の多関節物体の個体に固有の特徴(例えば、色およびテクスチャの少なくとも1つ)を示す。
 特徴量修正部140は、特徴量算出部130で算出した、部位領域および第二部位の候補領域のうちのどちらか一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度の少なくとも1つに基づいて修正(再算出)する。すなわち、特徴量修正部140は、部位領域の固有特徴量を、第二部位の候補領域の長さ、幅、および角度の少なくとも1つに基づいて修正する。または、特徴量修正部140は、第二部位の候補領域の固有特徴量を、部位領域の長さ、幅、および角度の少なくとも1つに基づいて修正する。前者の修正方法は、尤度が高い候補領域を、尤度が低い候補領域に合わせるように修正するので、尤度が低い候補領域から尤度の高い候補領域の特徴量を推定する後者の修正方法よりも、推定の精度が上がる。
 なお、第二部位の候補領域が複数ある場合、特徴量修正部140は、部位領域と第二部位の候補領域のペアごとに固有特徴量を修正する。
 また、特徴量修正部140は、上述した固有特徴量の修正を行う前に、以下の処理を行うようにしてもよい。まず、特徴量修正部140は、特徴量算出部130で算出した、部位領域の固有特徴量と第二部位の候補領域の固有特徴量との類似度を算出する。次に、特徴量修正部140は、算出した類似度に基づいて、部位領域と対になると推定できる第二部位の候補領域が存在するか否かを判断する。この判断の結果、部位領域と対になると推定できる第二部位の候補領域が存在しない場合、特徴量修正部140は、上述した固有特徴量の修正を行う。
 判定部150は、特徴量修正部140で修正した固有特徴量と、他方の候補領域の固有特徴量との類似度(例えば、コサイン類似度)に基づいて、部位領域と第二部位の候補領域とが対の部位であるか否かを判定する。この判定により、部位の姿勢が推定される。
 姿勢推定装置100は、例えば、CPU(Central Processing Unit)、制御プログラムを格納したROM(Read Only Memory)などの記憶媒体、およびRAM(Random Access Memory)などの作業用メモリを有する。この場合、上記した各構成部の機能は、CPUが制御プログラムを実行することにより実現される。
 このような構成を備えた姿勢推定装置100は、以下の効果を奏する。
 不特定多数の多関節物体の姿勢を推定する場合では、各多関節物体がどのような服装または色をしているかを事前に把握することは難しいため、共通特徴量(例えば、エッジ、シルエット、輪郭など)を用いて部位の推定を行うのが一般的である。このような部位の推定において、ある部位の周囲に他の部位がない場合は、その部位のエッジ情報のみが抽出されるため、部位の推定は比較的容易である。しかし、部位の推定を行う際に、ある部位の周囲に他の部位がある場合が想定される。すなわち、例えば、ある部位の後ろに他の部位がある場合には、ある部位だけでなくその後ろにある他の部位のエッジ情報も併せて取得されるため、部位の推定が困難である。さらに、ある部位が他の部位に遮蔽されている場合には、画像上で見える面積が少なく、上記共通特徴量だけでは、部位の推定が困難となる。
 一方で、一般的に、対となる部位を持つ多関節物体では、対となる部位の服装、色、質感は同じであることが多いと考えられる。例えば、人間の場合、右腿と左腿は単一の衣服を着ているので同じ色をしていると想定できるし、右腕と左腕も同じ柄の衣服が多いと考えられる。
 そこで、姿勢推定装置100は、まず、共通特徴量を用いて画像から複数の候補領域を抽出し、部位領域と第二部位の候補領域とに分ける。次に、姿勢推定装置100は、部位領域および第二部位の候補領域のそれぞれについて固有特徴量を算出する。次に、姿勢推定装置100は、部位領域および第二部位の候補領域のうち、いずれか一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度の少なくとも1つに基づいて修正する。次に、姿勢推定装置100は、修正した固有特徴量と、他方の候補領域の固有特徴量との類似度に基づいて、部位領域と第二部位の候補領域とが対となる部位であるか否かを判定する。このような動作により、姿勢推定装置100は、第二部位の候補領域の周囲に他の部位の候補領域がある場合でも、第二部位の候補領域を絞り込むことが可能となる。よって、姿勢推定装置100は、対となる部位の一方の姿勢を推定するのが困難な場合でも、また、事前にその部位の色およびテクスチャの少なくとも一方が不明である場合でも、対となる部位を有する多関節物体の姿勢を高精度に推定することが可能となる。
 (実施の形態2)
 本発明の実施の形態2は、本発明を、撮影画像を入力し、その撮影画像に含まれる人の姿勢を推定する装置に適用した場合の、本発明の具体的態様の一例である。
 まず、本実施の形態に係る姿勢推定装置を含む姿勢推定システムの概要について説明する。
 図2は、本実施の形態における姿勢推定システムの構成の一例を示すシステム構成図である。図2において、姿勢推定システム200は、撮影エリア310を撮影するカメラ320と、カメラ320と通信可能に接続された姿勢推定装置100とを有する。カメラ320は、例えばデジタルビデオカメラであり、撮影エリア310を斜め上方から撮影する。すなわち、カメラ320が撮影する画像は、人340および水平な床面330を含む実空間を撮影して得られた画像である。そして、カメラ320は、撮影映像の映像データを、姿勢推定装置100へ送信する。ここでは、撮影エリア310の床面330を、姿勢推定の対象となる人340が歩行しているものとする。
 姿勢推定装置100は、例えばパーソナルコンピュータであり、カメラ320から受信した映像データに基づいて、人340の姿勢を推定する。
 以上で、姿勢推定システム200の概要についての説明を終える。
 次に、本実施の形態において推定の対象となる人340の姿勢について説明する。
 図3は、人340の身体の構成モデル(以下「身体モデル」という)410の一例を示す図である。身体モデル410は、姿勢推定に用いられる身体の各部位の位置関係を、模式的に示したものである。身体モデル410は、胴411、左大腿412、左下腿413、左足414、右大腿415、右下腿416、右足417、および頭418、右上腕419、右前腕420、左上腕422、左前腕423を少なくとも含む。
 これらの各部位は、関節で接続されている。このため、各部位の可動域は、他の部位により制約を受ける。例えば、左前腕423は、左上腕422との接続点を中心とする所定の角度範囲でのみ動くことができる。また、例えば頭418と胴411の接続点を基準点とすると、基準点を中心とした左前腕423の存在可能域(「存在可能範囲」ともいう)は、左前腕423の接続元の部位である左上腕422と胴411の部位の物理的な長さや可動域の制約を受ける。このような、多関節物体の構造上の接続関係、接続点の可動域、部位の長さ、太さ、形状による制約を制約情報と呼ぶ。
 本実施の形態では、姿勢推定装置100は、各部位の制約情報を用いて人に共通する特徴を示す情報に加えて、個人の部位の特徴を示す情報を用いて、身体モデル410における各部位の領域を画像情報から抽出するものとする。なお、姿勢推定装置100が用いる身体モデルは、図3に示す例に限定されるものではない。
 身体モデル410において、対となる部位とは、左大腿412と右大腿415、左下腿413と右下腿416、左足414と右足417、左上腕422と右上腕419、左前腕423と右前腕420、である。なお、本実施の形態では、対となる部位を、上記の組み合わせのうち、左前腕423と右前腕420の前腕として説明するが、これに限定されない。
 以上で、推定の対象となる人340の姿勢についての説明を終える。
 次に、姿勢推定装置100の構成について説明する。
 図1は、姿勢推定装置100の構成の一例を示すブロック図である。本実施の形態に係る姿勢推定装置100の構成は、実施の形態1と同じである。ただし、本実施の形態では、推定対象の多関節物体を人340、対となる部位を前腕(左前腕423と右前腕420)として説明する。
 候補領域抽出部110は、推定対象となる人の一部または全部を含む画像から、共通特徴量を用いて、前腕であると推定される候補領域を複数抽出する。ここでいう共通特徴量とは、前腕について不特定多数の人に共通する形状の特徴(例えば、エッジのみ、または、エッジおよびシルエット)を示す。なお、ここで抽出される候補領域は、ノイズがある候補領域、すなわち、衣服の模様などが前腕であると誤って推定される候補領域を含む場合がある。
 なお、上記「前腕について不特定多数の人に共通する形状」は、例えば、人340における前腕の存在可能範囲、または、前腕の大きさ、長さあるいは太さによって定まる。このような前腕についての、存在可能範囲、大きさ、長さおよび太さは、人の制約情報として予め定められている。なお、人340における前腕の存在可能範囲は、例えば、人340上のある基準点(例えば、頭418と胴411の接続点)からの距離で定めてもよい。そして、候補領域抽出部110は、上記制約情報に基づいて候補領域を抽出するようにしてもよい。これにより、候補領域抽出部110は、前腕である可能性(尤度)が最も高い領域を、候補領域として抽出することができる。
 部位領域抽出部120は、候補領域抽出部110で抽出した複数の候補領域のうち、前腕である尤度が最も高い領域を、前腕のうちの第一部位の候補領域(第1の候補領域の一例)として抽出する。ここで、第一部位の候補領域を「部位領域」と呼ぶ。一方、部位領域以外の候補領域は「第二部位の候補領域」(第2の候補領域の一例)と呼ぶ。第二部位の候補領域は複数存在する場合もある。
 特徴量算出部130は、部位領域抽出部120で抽出した、部位領域と第二部位の候補領域のそれぞれについて、固有特徴量を算出する。ここでいう固有特徴量とは、前腕について推定対象の人340に固有の特徴(例えば、色およびテクスチャの少なくとも1つ)を示す。
 特徴量修正部140は、特徴量算出部130で算出した、部位領域および第二部位の候補領域のうちのどちらか一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度のうち少なくとも1つに基づいて修正(再算出)する。すなわち、特徴量修正部140は、部位領域の固有特徴量を、第二部位の候補領域の長さ、幅、および角度の少なくとも1つに基づいて修正する。なお、特徴量修正部140は、第二部位の候補領域の固有特徴量を、部位領域の長さ、幅、および角度の少なくとも1つに基づいて修正するようにしてもよい。前者の修正方法は、尤度が高い候補領域を、尤度が低い候補領域に合わせるように修正するので、後者の修正方法よりも推定の精度が上がるため、好ましい。
 なお、第二部位の候補領域が複数ある場合、特徴量修正部140は、部位領域と第二部位の候補領域のペアごとに、部位領域または第二部位の候補領域の固有特徴量を修正する。
 また、特徴量修正部140は、上述した固有特徴量の修正を行う前に、以下の処理を行うようにしてもよい。まず、特徴量修正部140は、特徴量算出部130で算出した、部位領域の固有特徴量と第二部位の候補領域の固有特徴量との類似度を算出する。次に、特徴量修正部140は、算出した類似度に基づいて、部位領域と対の前腕であると推定できる第二部位の候補領域が存在するか否かを判断する。この判断の結果、部位領域と対の前腕であると推定できる第二部位の候補領域が存在しない場合、特徴量修正部140は、上述した固有特徴量の修正を行う。
 判定部150は、特徴量修正部140で修正した固有特徴量と、他方の候補領域の固有特徴量との類似度(例えば、コサイン類似度)に基づいて、部位領域と第二部位の候補領域とが対の前腕であるか否かを判定する。この判定により、前腕の姿勢が推定される。
 姿勢推定装置100は、例えば、CPU(Central Processing Unit)、制御プログラムを格納したROM(Read Only Memory)などの記憶媒体、およびRAM(Random Access Memory)などの作業用メモリを有する。この場合、上記した各構成部の機能は、CPUが制御プログラムを実行することにより実現される。
 このような構成を備えた姿勢推定装置100は、以下の効果を奏する。
 不特定多数の人の姿勢を推定する場合では、各人がどのような服装または肌の色をしているかを事前に把握することは難しいため、共通特徴量(例えば、エッジ、シルエット、輪郭など)を用いて、部位の推定を行うのが一般的である。このような部位の推定において、ある部位の周囲に他の部位がない場合は、その部位のエッジ情報のみが抽出されるので、部位の推定は比較的容易である。しかし、部位の推定を行う際に、ある部位の周囲に他の部位がある場合が想定される。すなわち、例えば、左前腕423の後ろに胴411がある場合には、左前腕423だけでなく胴411のエッジ情報も併せて取得されるため、左前腕423の推定が困難となる。さらに、ある部位が他の部位に遮蔽されている場合も想定される。すなわち、例えば、左前腕423の一部が胴411に隠れている場合には、左前腕423が画像上で見える面積が少なく、前腕の形状の特徴を示す画像特徴量だけでは、左前腕423の推定が困難となる。
 一方で、一般的に、人の服装は左右対称であり、対となる部位の画像上での色、テクスチャは同じことが多い。例えば、人間の場合、右腿と左腿は単一のズボンを着用しているので同じ長さ、同じ色をしていると想定できるし、右腕と左腕も同じ柄、同じ袖の長さの衣服が多いと考えられる。
 そこで、姿勢推定装置100は、まず、共通特徴量を用いて画像から複数の候補領域を抽出し、部位領域と第二部位の候補領域とに分ける。次に、姿勢推定装置100は、部位領域および第二部位の候補領域のそれぞれについて固有特徴量を算出する。次に、姿勢推定装置100は、部位領域および第二部位の候補領域のうち、いずれか一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度の少なくとも1つに基づいて修正する。次に、姿勢推定装置100は、修正した固有特徴量と、他方の候補領域の固有特徴量との類似度に基づいて、部位領域と第二部位の候補領域とが対となる部位であるか否かを判定する。このような動作により、姿勢推定装置100は、第二部位の候補領域の周囲に他の部位(例えば胴411)の候補領域がある場合でも、第二部位の候補領域を絞り込むことが可能となる。よって、姿勢推定装置100は、前腕の一方の姿勢を推定するのが困難な場合でも、また、事前にその部位の色およびテクスチャの少なくとも一方が不明である場合でも、対となる部位を有する多関節物体の姿勢を高精度に推定することが可能となる。
 次に、姿勢推定装置100の動作について説明する。図4は、姿勢推定装置の動作の一例を示すフローチャートである。
 まず、ステップS1100において、候補領域抽出部110は、候補領域抽出処理を行う。候補領域抽出処理は、推定対象部位である前腕の候補領域を複数抽出する処理である。
 ここで、ステップS1100の候補領域抽出処理の詳細について、説明する。図5は、候補領域抽出処理の動作の一例を示すフローチャートである。
 まず、ステップS1101の「画像入力」において、候補領域抽出部110は、カメラ320から画像を入力する。この画像は、人340の一部または全部が撮影された画像である。
 次に、ステップS1102の「前景抽出」において、候補領域抽出部110は、入力された画像から、前景領域を抽出する。具体的には、候補領域抽出部110は、背景差分画像を生成し、前景を人340と推定される領域(以下「人の候補領域」という)として抽出する。ここで、背景差分画像とは、例えば、人340が存在しない状態で撮影された背景画像と、入力された画像との差分を示す画像である。
 背景差分画像は、例えば、入力された画像と背景画像との画素値が異なる画素を白で表現し、入力画像と背景画像との画素値が同じ画素を黒で表現する。すなわち、背景差分画像は、人340が存在する領域を、白の領域で表現し、人340が存在しない領域を、黒の領域で表現する。
 次に、ステップS1103の「頭抽出」において、候補領域抽出部110は、頭418と推定される領域(以下「頭の候補領域」という)を抽出し、人340の基準点を算出する。本実施の形態では、基準点は、頭418と胴411の接続点とするが、これに限定されない。
 候補領域抽出部110は、白の領域を人の候補領域として抽出し、そのうち、上部の領域を、頭の候補領域として抽出する。上部の領域は、例えば、人の候補領域(白の領域)のうち上端から下方に向かって所定の比率(例えば、30%)の部分を含む領域として、予め定められている。
 そして、候補領域抽出部110は、抽出した頭の候補領域から、ハフ変換などを用いて頭領域を抽出する。ハフ変換は、公知の技術であり、エッジ情報から楕円の中心(X座標、Y座標)、長軸、短軸、傾きを表す5つのパラメータを求めることができる。候補領域抽出部110は、この楕円の長軸と楕円の交点のうち、下に位置する点を、頭418と胴411の接続点である基準点として算出する。
 次に、ステップS1104の「候補領域抽出」において、前腕の候補領域を抽出する。ここで、前腕の候補領域を抽出する例を2つ説明する。
 まず、第一の例を説明する。第一の例は、頭の候補領域の抽出と同様に行う。
 候補領域抽出部110は、白の領域を人の候補領域として抽出し、そのうち、基準点から所定の距離の領域を、前腕存在可能領域として抽出する。ここで、所定の距離は、人340の制約情報に基づいて、予め学習により、頭領域の大きさの所定の倍率(例えば、短軸の7.5倍など)として、予め定められている。
 そして、候補領域抽出部110は、抽出した前腕存在可能領域から、ハフ変換などを用いて前腕の候補領域を抽出する。ハフ変換は、公知の技術であり、エッジ情報から楕円の中心(X座標、Y座標)、長軸、短軸、傾きを表す5つのパラメータを求めることができる。候補領域抽出部110は、このようにして求めた楕円のうち、長軸、短軸の長さが所定の条件を満たすものを前腕の候補領域として抽出する。ここで、所定の条件は、人340の制約情報に基づいて、予め学習により、頭領域の大きさの所定の比率の範囲(例えば、長軸は頭領域の長軸の長さの1.2倍より小さい、短軸は頭領域の短軸の長さの1.2倍より小さいなど)として、予め定められている。
 このようにして候補領域抽出部110が抽出する前腕の候補領域は、それぞれ、楕円の中心(X座標、Y座標)、長軸、短軸、傾きにより定義されて出力される。
 次に、第二の例を説明する。第二の例は、前腕存在可能領域を基に生成したエッジペア尤度マップから前腕の候補領域を抽出する。
 エッジペア尤度マップは、各画素の近傍に存在する、所定の勾配方向に平行なエッジペアに基づいて算出したエッジペア尤度を各画素の値とするマップである。本実施の形態では、平行線の幅を前腕の太さの制約情報に基づいて決めるため、画素ごとのエッジペア尤度は、当該画素の近傍に存在する画素が、前腕のエッジであることの尤もらしさ(尤度)を示す。
 図6は、エッジペア尤度マップ生成処理の動作の一例を示すフローチャートである。図7は、勾配方向が水平方向であるエッジペア尤度マップの生成処理を説明するための図である。ここでは、水平方向を0度として、水平方向のエッジペア尤度マップを生成する例を説明する。
 ステップS2001において、候補領域抽出部110は、生成するエッジペア尤度マップの勾配方向の刻み幅を選択する。ここでは例として、刻み幅が、予め30度に設定されているとする。このように勾配方向を30度刻みとする場合、0度、30度、60度、90度、120度、150度の6つのエッジペア尤度マップが生成されることになる。よって、その場合、候補領域抽出部110は、ステップS2002からS2006の処理を6回繰り返すことになる。
 ステップS2002において、候補領域抽出部110は、前腕存在可能領域から、注目画素を選択する。例えば、図7において、候補領域抽出部110は、以下の処理を繰り返すことで、腕第二部位の候補領域の全ての画素を注目画素として選択する。ここでいう処理とは、左上隅の画素(※で示す画素)から、X座標をX軸方向に1ずつインクリメントしてX軸方向の端まで移動したら、X座標を初期位置(※で示す画素のX座標の位置)に戻し、Y座標をY座標方向に1インクリメントして、X座標をX軸方向に1ずつインクリメントする処理である。ただし、注目画素の選択の方法はこれに限定されない。図7では、前腕存在可能領域710から注目画素702が選択された場合を例に説明する。
 ステップS2003において、候補領域抽出部110は、勾配方向ペア画素を選択する。図7では、勾配方向ペア画素として704と705が選択される。
 上述した通り、ここでは、水平方向のエッジペア尤度マップを生成する例としている。よって、候補領域抽出部110は、2つの条件を満たす画素として、704および705の2つを勾配方向ペア画素として選択する。2つの条件とは、注目画素702を通り水平な直線と垂直となる直線上にあること、および、注目画素702からの距離が対象部位の太さ701の半分の長さ703であること、である。すなわち、角度θのエッジペア尤度マップを生成する場合には、候補領域抽出部110は、注目画素を通り、角度θと垂直(θ+90度)の直線上で、距離が対象部位の太さ701の半分の長さ703となる画素を、勾配方向ペア画素として2つ選択するものとする。なお、本実施の形態では、対象部位の太さ701は、予め学習により、頭領域の大きさの所定の比率(例えば、頭領域の短軸の長さの1.2倍など)として、予め定められている。
 ステップS2004において、候補領域抽出部110は、勾配方向ペア画素のそれぞれから予め設定された距離以内にある画素群を、勾配方向ペア近傍領域としてそれぞれ選択する。図7では、勾配方向ペア画素704および705のそれぞれから、近傍の長さ708の距離以内にある画素群が、勾配方向ペア近傍領域706および707としてそれぞれ選択されている。近傍の長さ708は、部位の太さの誤差の長さを表す、予め定められた値である。例えば、近傍の長さ708は、頭領域の大きさの所定の比率(例えば、頭領域の短軸の長さの20%など)として、予め定められている。
 ステップS2005において、候補領域抽出部110は、注目画素702のエッジペア尤度を計算する。具体的には、候補領域抽出部110は、勾配方向ペア近傍領域706内の画素の輝度の総和と、勾配方向ペア近傍領域707内の画素の輝度の総和との積を、エッジペア尤度として算出する。
 なお、候補領域抽出部110は、勾配方向ペア近傍領域706内で所定値以上の輝度Yを持つ画素の数と、勾配方向ペア近傍領域707内で所定値以上の輝度Yを持つ画素の数の積を、エッジペア尤度として算出するようにしてもよい。これにより、候補領域抽出部110は、各勾配方向ペア近傍領域706、707の大きさでエッジペア尤度を正規化することができる。
 ステップS2006において、候補領域抽出部110は、前腕存在可能領域の全画素についてエッジペア尤度の算出が終了したか否かを判断する。全画素について計算が終了していれば(S2006:YES)、候補領域抽出部110は、ステップS2001で選択した刻み幅のエッジペア尤度マップの生成が終了したと判断し、ステップS2007に進む。一方、全画素について計算が終了していなければ(S2006:NO)、候補領域抽出部110は、ステップS2001で選択した刻み幅のエッジペア尤度マップの生成が終了していないと判断し、ステップS2002に進む。
 ステップS2007において、候補領域抽出部110は、全ての勾配方向についてエッジペア尤度の算出が終了したか否かを判断する。全ての勾配方向について計算が終了していれば(S2006:YES)、候補領域抽出部110は、予め定められた全ての勾配方向のエッジペア尤度マップの生成が終了したと判断し、一連の処理を終了する。一方、全ての勾配方向について終了していなければ(S2006:NO)、候補領域抽出部110は、予め定められた全ての勾配方向のエッジペア尤度マップの生成が終了していないと判断する。よって、候補領域抽出部110は、未生成である勾配方向のエッジペア尤度マップを生成するために、ステップS2001に進む。
 候補領域抽出部110は、このように生成したエッジペア尤度マップの尤度が所定の閾値以上の画素を、エッジペア尤度マップから算出した前腕存在可能領域として抽出する。ここで、所定の閾値は、エッジペア尤度マップ内の最大エッジペア尤度に対する比率(たとえば、10%など)として、予め定められている。
 候補領域抽出部110は、前腕存在可能領域から前腕の候補領域を抽出したときと同じように、エッジペア尤度マップから算出した前腕存在可能領域から、ハフ変換を用いて前腕の候補領域を抽出する。
 このように、本実施の形態では、対象部位である前腕の制約情報を用いて前腕存在可能領域を絞り込むことで、対象部位である前腕の候補領域をより精度よく抽出できる。
 以上で、ステップS1100の候補領域抽出処理の具体例の説明を終える。
 次に、ステップS1200において、部位領域抽出部120は、部位領域抽出処理を行う。部位領域抽出処理は、候補領域抽出部110で抽出された複数の候補領域のうち、前腕である尤度が高い領域を、前腕のうちの第一部位の候補領域である「部位領域」として抽出する。
 ここで、前腕の部位領域を抽出する例を3つ説明する。
 まず、第一の例を説明する。第一の例は、部位領域抽出部120が、人340の輪郭上の基準点からの極大値を用いて、部位領域を抽出する。
 図8は、輪郭上の基準点からの極大値を用いて、部位領域を抽出する一例を示す図である。
 図8Aは、人340の背景差分画像の一部の例を示す。図8Aにおいて、白い領域は、入力画像と背景画像との画素値が異なる画素(人340が存在する領域)を示している。また、図8Aにおいて、801は、人340の基準点の例を示す。
 部位領域抽出部120は、基準点から真上にある白い領域と黒い領域(ハッチングの領域)の境界の画素802を選択し、境界沿いに左周りに画素位置を記録していく。図8Aの画素上の数字は、記録された順番を示す。画素802は一番に記録されたので、1と示されている。記録される順番は、例えば、左斜め上、横、左斜め下、下、右斜め下の画素の順とする。
 図8Bは、記録された順番と、その順番で記録された画素と基準点の距離を示すグラフである。このグラフから、記録された順番が20の画素が極大値をとることがわかる。
 部位領域抽出部120は、候補領域抽出部110で抽出された候補領域のうち、極大値との間で最も距離が小さいものを、部位領域として抽出する。具体的には、部位領域抽出部120は、候補領域の長軸と楕円周との交点のうち、基準点からの距離が大きい方の交点と極大点の距離が小さい候補領域を部位領域としてもよいし、第二部位の候補領域の重心と基準点からの距離が小さい候補領域を部位領域としてもよい。
 このように、部位領域抽出部120は、前腕が他の部位(例えば胴)から離れているために、他の部位の情報が含まれている可能性の最も低い候補領域を、部位領域として抽出することが可能となる。
 次に、第二の例を説明する。
 部位領域抽出部120は、エッジペア尤度を用いて、部位領域を抽出する。具体的には、部位領域抽出部120は、エッジペア尤度マップ上の各候補領域において、エッジペア尤度の総和を算出し、その総和が最も高い候補領域を部位領域として抽出する。
 このように、部位領域抽出部120は、対象部位のエッジペア尤度を最も多く保持し、対象部位である可能性が最も高い候補領域を、部位領域として抽出することが可能となる。
 次に、第三の例を説明する。
 部位領域抽出部120は、第一の例と第二の例の手法を組み合わせて部位領域を抽出する。具体的には、部位領域抽出部120は、第二部位の候補領域の長軸と楕円周との交点のうち基準点からの距離が大きい方の交点と極大点の距離が小さく、かつ、候補領域のエッジペア尤度の総和が高い候補領域を、部位領域として抽出する。具体的には、部位領域抽出部120は、以下の数式(1)を用いて算出した値が最も高い候補領域を、部位領域として抽出してもよい。
Figure JPOXMLDOC01-appb-M000001
 なお、数式(1)において、各値は、以下の通りである。Siは、i番目の候補領域のスコアである。Max[L]は、候補領域と基準点との間の距離の最大値である。Liは、i番目の候補領域と極大点との間の距離の最大値である。Piは、i番目の候補領域のエッジペア尤度の総和である。Max[P]は、候補領域のエッジペア尤度の総和の最大値である。mとnは、予め定められる重み定数であり、n+m=1となるように設定される。重み定数は、候補領域と基準点との間の距離と、エッジペア尤度とが同じ程度信頼できる環境では、同じ比率に設定される。その一方、候補領域と基準点との間の距離よりもエッジペア尤度の方が信頼できる環境では、重み定数は、mよりnを大きくするというように、事前の学習により設定される。
 このように2種類の値を用いることで、部位領域抽出部120は、複数の候補領域の中から、基準点からの距離と、部位らしいエッジペア尤度との両方の条件を最もよく満たす候補領域、つまり、最も推定対象部位らしい候補領域をより精度よく抽出することが可能となる。
 以上で、ステップS1200の部位領域抽出処理の具体例の説明を終える。
 次に、ステップS1300において、特徴量算出部130は、部位領域抽出部120で抽出した、部位領域および第二部位の候補領域毎に、固有特徴量を算出する。
 ここで、固有特徴量の例を2つ説明する。
 第一の例は、色情報の公知の技術である、輝度のヒストグラムである。具体的には、固有特徴量の一例である輝度ヒストグラムは、各第二部位の候補領域に含まれる画素の輝度の値を、0から255の値をとる256ビンの情報としたものである。
 第二の例は、テクスチャ情報のエッジペア尤度のヒストグラムである。具体的には、固有特徴量の一例であるエッジペア尤度のヒストグラムは、各第二部位の候補領域に含まれるエッジペア尤度の値を正規化して、0から1までの値とした、平行線の方向の刻みの数に応じたビン数の情報(例えば、8方向のエッジペア尤度の場合は8ビン)としたものである。
 以上で、ステップS1300の特徴量算出処理の具体例の説明を終える。
 次に、S1400において、特徴量修正部140は、特徴量算出部130で算出した、部位領域および第二部位の候補領域のうちのどちらか一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度の少なくとも1つに基づいて修正する。例えば、特徴量修正部140は、部位領域の固有特徴量を、第二部位の候補領域の長さ、幅、および角度の少なくとも1つに基づいて修正する。なお、本実施の形態では、部位領域と第二部位の候補領域のうち、部位領域の固有特徴量を算出しなおす例について説明するが、それに限定されない。また、第二部位の候補領域が複数ある場合には、特徴量修正部140は、部位領域と第二部位の候補領域のペアごとに、上述した固有特徴量の修正を行う。
 特徴量修正部140が特徴量修正処理を行う理由は、部位領域および第二部位の候補領域の位置または形状によっては、特徴量算出部130が固有特徴量を正しく取得(算出)できない場合があるためである。ここで、固有特徴量が正しく取得できない場合の例を3つ説明する。
 まず、第一の例を説明する。図10は、推定対象となる人340の姿勢の一例を示す。
 図10Aは、人が右腕を前に伸ばし、左腕を軽く曲げた姿勢を右側から見た身体モデルで示した例である。図10Aに示す姿勢は、例えば、人が商品棚から商品を取得する購買行動において、左手にカゴやかばんをもち、右手で商品を取得するときに見られる。図10Aにおいて、右前腕420は全部見えている。その一方、図10Aにおいて、左前腕423は、その半分程度が他の部位である胴411に遮蔽されており、先端の部分しか見えていない。
 図10Bは、図10Aの人340を撮影した画像から抽出される、前腕の部位領域901および第二部位の候補領域902を示した例である。図10Bにおいて、右前腕420は他の部位から離れている上、カメラ320の向きと垂直に伸びており、長軸の長さも長い。そのため、右前腕420で抽出される候補領域は、部位領域抽出部120により部位領域901として抽出される。
 図13は、第一の例における画像とそのヒストグラムの一例を示す。
 図13の例では、前腕の先端まで衣服で覆われていないため、前腕の部位領域901から抽出される特徴量には、衣服と腕の肌の色またはテクスチャの特徴が含まれる。しかし、第二部位の候補領域902から抽出される特徴量には腕の肌の特徴量しか含まれない。
 図13Aは、図10Bに示す右腕の画像の一例を示し、部位領域901を示す。図13Bは、図13AのRGBヒストグラムの例を示す。図13Cは、図13Aの輝度ヒストグラムの例を示す。また、図13Dは、図10Bに示す左腕の画像の一例を示し、第二部位の候補領域902を示す。図13Eは、図13DのRGBヒストグラムの例を示す。図13Fは、図13Dの輝度ヒストグラムの例を示す。ヒストグラムは、ある領域における画素ごとの値の分布を示したものである。図13の例では、図示を省略しているが、グラフの左側には画像の暗い値(最も暗い値はレベル0)が表示され、右側には明るい値(最も明るい値はレベル255)が表示される。グラフの縦軸は、各レベルの画素の総数を示す。
 RGBヒストグラムは、赤、緑および青の各カラーチャンネルのヒストグラムを個別に出力した後、レベルごとに和をとり表示したものである。本実施の形態では、RGBヒストグラムは、レベルごとに和をとったが、重ね合わせずに、0から255のレベルが3つ(赤、緑および青)を並べて768レベルのヒストグラムとしてもよい。
 輝度のヒストグラムは、画素の輝度の値をヒストグラムにしたものである。
 図13において、部位領域901は衣服と肌の情報を含むのに対し、第二部位の候補領域902は主に肌の情報しか含まないため、RGBヒストグラムと輝度ヒストグラムのどちらを見ても異なっている。
 そのため、コサイン類似度の値は高くならず、第二部位の候補領域902は部位領域901の対となる部位として抽出されない。正しく抽出できる特徴量とするためには、特徴量修正部140は、部位領域901と第二部位の候補領域902の先端の半分の領域から特徴量を取得する必要がある。
 次に、第二の例を説明する。図10Cは、部位領域901と第二部位の候補領域902のテクスチャの一例を示す。具体的には、人340が縞のシャツを着ているとする。
 図10Dは、図10Bにおける、基準点900、部位領域901、および第二部位の候補領域902を示す。図10Dにおいて、角度θ904は、部位領域901と第二部位の候補領域902の傾きの差を示す角度である。
 図14は、第二の例におけるヒストグラムの一例を示す。
 図14は、図10Bに示す人が図10Cに示す縞模様の衣服を着ている場合の、テクスチャのヒストグラムを示す。図14Aは、部位領域901のテクスチャのヒストグラムを示す。図14Bは、候補領域902のテクスチャのヒストグラムを示す。
 図14のテクスチャのヒストグラムは、エッジペア角度の分布を正規化して8つのレベルで示している。グラフの一番左から水平方向(レベル1)のエッジペアの分布が示され、時計回りの方向に22.5度刻みの順に、グラフの右側には157.5度方向(レベル8)のエッジペアの分布が示される。図14Aの部位領域901のテクスチャのヒストグラムは、図10Cで示すように、垂直方向のエッジペアが多くなるため、垂直方向のエッジペアの分布を示すレベル4の値が高くなる。図14Bのテクスチャのヒストグラムは、レベル1(水平方向)から時計回りに135度の方向(レベル7)が最も多くなる。
 そのため、部位領域901と第二部位の候補領域の特徴量のコサイン類似度の値は高くなく、第二部位の候補領域902は部位領域901の対となる部位として抽出されない。正しく抽出できる特徴量とするためには、特徴量修正部140は、部位領域901と第二部位の候補領域902のうちいずれか一方の領域を角度θ904だけ回転させてから特徴量を取得する必要がある。
 次に、第三の例を示す。図12は、人340の姿勢の一例を示す。
 図12Aは、右上腕419は下に下ろし、肘を折り曲げて右前腕420の先端が肩の位置にした姿勢を正面から見た身体モデルを示す。図12Bは、図12Aに示す姿勢を右側から見た身体モデルを示す。この場合、正面からの画像では、右上腕419は見えず、右前腕420のみが見えることになる。
 図15は、第三の例におけるヒストグラムの一例を示す。
 図15のテクスチャのヒストグラムは、エッジペア角度と間隔の分布を正規化なしで24のレベルで示している。図15の各ヒストグラムは、グラフの一番左から水平方向のエッジペアの分布が示され、時計回りの方向に22.5度刻みの順に、グラフの右側には157.5度方向のエッジペアの分布が示される。これは、図14のヒストグラムと同様である。それに加え、図15の各ヒストグラムは、方向ごとに、エッジペアの間隔が3段階(腕の太さを示す長さ、腕の太さを示す長さの2分の一、腕の太さを示す長さの4分の一)の分布が示される。このように、合わせて8(方向)x3(太さ)のレベルをもつヒストグラムとなる。例えば、図15の各ヒストグラムにおいて、グラフの一番左のレベルは、エッジペアの方向が水平で、間隔は腕の太さをもつエッジペアの分布を示す。また、2番目のレベルは、エッジペアの方向が水平で、間隔は腕の太さの2分の一の太さをもつエッジペアの分布を示す。また、3番目のレベルは、エッジペアの方向が水平で、間隔は腕の太さの4分の一の太さをもつエッジペアの分布を示す。
 図12Cは、図12Aに示す人340が、前腕に縞のあるシャツを着ている場合の模式図を示す。
 この場合、部位領域抽出部120は、左前腕423を部位領域として抽出し、右前腕420を第二部位の候補領域として抽出する。
 そして、特徴量算出部130で算出される、部位領域(図12Cに示す左前腕423)と第二部位の候補領域(図12Cに示す右前腕420)の固有特徴量はともに、図15Aに示すヒストグラムで表され、類似度が高い。
 図12Dは、人が右腕をまっすぐ前下に伸ばし、左腕を下に下ろしている姿勢を正面から見た身体モデルを示す。図12Eは、図12Dに示す姿勢を右側から見た身体モデルを示す。この場合、図12Aと同様に、左前腕423が部位領域として抽出されるが、他に第二部位の候補領域が2つ抽出される。具体的には、候補領域抽出部110は、第二部位の候補領域として、右上腕419と右前腕420とをあわせた領域(以下「合併領域」という)と、右前腕420との2つを抽出することが予測される。ここで、抽出された合併領域を「第二部位の候補領域A」と呼び、抽出された右前腕420を「第二部位の候補領域B」と呼ぶ。
 図12Fは、図12Dに示す人340が、図12Cと同じ縞のシャツを着ている場合の模式図を示す。
 この場合、特徴量算出部130で算出される部位領域(図12Fに示す左前腕423)の固有特徴量は、太い縞のエッジペアの分布が多い図15Aに示すヒストグラムとなる。また、第二部位の候補領域A(図12Fに示す右上腕419および右前腕420)および第二部位の候補領域B(図12Fに示す右前腕420)の固有特徴量は、細い縞のエッジペアも抽出される。そのため、第二部位の候補領域Aの固有特徴量は、図15Bに示すヒストグラムとなり、第二部位の候補領域Bの固有特徴量は、図15Cに示すヒストグラムとなる。よって、特徴量算出部130で算出される、部位領域のテクスチャの特徴量と、第二部位の候補領域Aのテクスチャの特徴量とは、異なることになる。また、特徴量算出部130で算出される、部位領域のテクスチャの特徴量と、第二部位の候補領域Bのテクスチャの特徴量とは、異なることになる。
 しかし、部位領域と第二部位の候補領域の長軸の比率に応じて、領域を変形させて再算出領域を抽出することにより、特徴量の類似度が高くなり、第二部位の候補領域を正しく推定できる場合がある。
 例えば、部位領域が図12Fに示す左前腕423であり、第二部位の候補領域が図12Fに示す右前腕420(第二部位の候補領域B)である場合は、以下のようになる。すなわち、部位領域を第二部位の候補領域Bの長軸の長さに合わせて縮小すると、第二部位の候補領域Bと同じように、図15Cに示す細い縞の特徴量が抽出される。一方、部位領域が図12Fに示す左前腕423であり、第二部位の候補領域が図12Fに示す右上腕419および右前腕420(第二部位の候補領域A)である場合は、以下のようになる。すなわち、部位領域と第二部位の候補領域Aの長軸の長さは等しいので、再算出領域は変化せず、特徴量も異なる。よって、部位領域に対となる第二部位の候補領域は、第二部位の候補領域Aではなく、第二部位の候補領域Bであると正しく推定される。
 上記3つの例による理由から、特徴量修正部140は、ステップS1400の特徴量修正処理を行う。
 図9は、ステップS1400の特徴量修正処理のフローの一例を示す。
 ステップS1401において、特徴量修正部140は、コサイン類似度が所定の条件を満たさない部位領域と第二部位の候補領域のペアについて、特徴量算出領域抽出処理を行う。ここで、所定の条件は、複数算出されたコサイン類似度の相対的な値で設定(例えば、最もコサイン類似度が高いなど)されたものでもよい。または、所定の条件は、コサイン類似度の閾値を絶対値で設定(例えば、コサイン類似度が0.8より大きい)されたものでもよい。あるいは、所定の条件は、上記相対的な値と絶対値との両方で設定されたものでもよい。そして、ステップS1401の特徴量算出領域抽出処理の結果、後述する再算出領域が抽出される。なお、このステップS1401の詳細は、後述する。
 ステップS1402において、特徴量修正部140は、再算出領域から固有特徴量を再算出(修正)する処理を行う。ここでの固有特徴量の再算出は、特徴量算出部130の固有特徴量の算出と同様に行う。
 なお、特徴量修正部140は、特徴量算出部130における固有特徴量の算出に用いたものと同一の固有特徴量を用いてもよいし、色とテクスチャの両方の固有特徴量を算出するようにしてもよい。複数の固有特徴量を算出することで、よりロバストな判定が可能となる。
 次に、特徴量算出領域抽出処理の詳細を説明する。図11は、ステップS1401の特徴量算出領域抽出処理フローの一例を示す。
 ステップS14011において、特徴量修正部140は、第二部位の候補領域902の長軸と楕円周との交点として、基準点900からの距離が短い交点A(第1交点の一例)と、基準点900からの距離が長い交点B(第2交点の一例)とを抽出する。
 ステップS14012において、特徴量修正部140は、第二部位の候補領域902が他の部位(例えば胴411)によって遮蔽されている可能性(以下「遮蔽可能性」という)があるか否かを判断する。この判断は、基準点900から交点Aまでの距離および角度、並びに、基準点900から交点Bまでの距離および角度に基づいて行われる。具体的には、特徴量修正部140は、他の部位が存在する可能性のある領域(以下「他部位領域」という)に、交点Aと交点Bが含まれるかを判断する。他部位領域は、基準点900および人340の制約情報に基づいて、算出、設定された領域である。例えば、他部位領域は、基準点900を基準にして、幅は頭の短軸の4倍であり、長さは頭の短軸の8倍である矩形領域が挙げられる。
 ステップS14012における判断の結果、他部位領域に、交点Aが含まれており、かつ、交点Bが含まれていない場合、特徴量修正部140は、遮蔽可能性ありと判断し(S14013:YES)、ステップ14024の処理に進む。
 一方、ステップS14012における判断の結果、他部位領域に、交点Aが含まれていない、または、交点Bが含まれている場合、特徴量修正部140は、遮蔽可能性なしと判断し(S14013:NO)、ステップS14015の処理に進む。
 ステップS14014において、特徴量修正部140は、部位領域901から、固有特徴量を再算出する領域、すなわち再算出領域を抽出する。まず、特徴量修正部140は、制約情報である対象部位の長さ(例えば、頭領域の短軸の4倍)と第二部位の候補領域902の長軸の長さとの比に基づいて、遮蔽されていない面積の比R(例えば、20%など)を求める。次に、特徴量修正部140は、部位領域901のうち、その先端から面積の比Rに相当する領域を、再算出領域として抽出する。
 なお、特徴量の再算出に色情報のみを用いる場合には、このステップS14014にて処理を終了してもよい。
 図10では、第二部位の候補領域902には腕の肌のみが含まれる例を説明したが、第二部位の候補領域902に衣服も含まれる場合もある。この場合、ステップS14014の処理だけでは、精度よく類似度が判断できない。なぜなら、衣服のテクスチャは、腕の角度により異なる特徴量となるからである。
 よって、精度よく類似度を判断するために、特徴量修正部140は、ステップS14015以降の処理を行うことが好ましい。
 ステップS14015において、特徴量修正部140は、テクスチャの特徴量を算出する場合に、部位領域901と第二部位の候補領域902とのなす角度が所定の値より小さいか(図10Dに示す角度θ904が所定の値より小さい角度か)否かを判断する。ここで所定の値とは、候補領域の角度の推定誤差を示し、予め学習して取得した値(例えば15度)である。
 ステップS14015における判断の結果、角度が所定の値より小さい場合(S14015:YES)、特徴量修正部140は、ステップS14017の処理に進む。
 一方、ステップS14015における判断の結果、角度が所定の値より小さくない場合(S14015:NO)、特徴量修正部140は、ステップS14016の処理に進む。
 ステップS14016において、特徴量修正部140は、部位領域901と第二部位の候補領域902の角度の違いであるθ904を用いて、ステップS14014で抽出した再算出領域を回転させる。なお、ステップS14014を行わなかった場合(S14013:NO)、特徴量修正部140は、θ904を用いて、部位領域901を回転させる。
 ステップS14017において、特徴量修正部140は、部位領域901の長軸の長さと第二部位の候補領域902の長軸の長さとを比較し、長軸の長さの差が所定の値より小さいか否かを判断する。ここで所定の値とは、長軸の推定誤差を示し、頭領域の長軸の比率(頭領域の10%)で設定された値である。
 ステップS14017における判断の結果、長軸の長さの差が所定の値より小さい場合(S14017:YES)、特徴量修正部140は、ステップS14018の処理に進む。
 一方、ステップS14017における判断の結果、長軸の長さの差が所定の値より小さくない場合(S14017:NO)、特徴量修正部140は、ステップS14016で抽出した再算出領域を出力して、一連の処理を終了する。なお、長軸の長さの差が所定の値より小さくない場合において、事前にステップS14016の処理を行っていない場合には、特徴量修正部140は、ステップS14014で抽出した再算出領域を出力して、一連の処理を終了する。また、長軸の長さの差が所定の値より小さくない場合において、事前にステップS14014の処理およびステップS14016の処理を行っていない場合には、特徴量修正部140は、部位領域901を再算出領域として出力して、一連の処理を終了する。
 ステップS14018において、特徴量修正部140は、部位領域901を縮小して再算出領域とする。具体的には、特徴量修正部140は、部位領域901の長軸の長さに対する第二部位の候補領域902の長軸の長さの比率に合わせて、部位領域901を縮小し、それを再算出領域として、一連の処理を終了する。例えば、特徴量修正部140は、部位領域901の長軸の長さが6画素、第二部位の候補領域902の長軸の長さが3画素である場合、比率を50%などにする。そして、特徴量修正部140は、比率50%に合わせて、部位領域901の面積を50%に縮小する。そして、特徴量修正部140は、縮小した部位領域901を再算出領域とする。
 以上説明した図11のフローによれば、部位領域901と第二部位の候補領域902の部位の角度が異なるために、見えの長さが異なる場合にも、部位領域901の対となる第二部位の候補領域902を正しく推定することができる。
 なお、図11のフローにおいて、ステップS14017を先に行い、ステップS14015をその後に行ってもよい。
 また、ステップS14018において、特徴量修正部140は、再算出領域を縮小する例について説明したが、再算出領域を拡大するようにしてもよい。
 以上で、ステップS1400の特徴量修正処理の具体例の説明を終える。
 次に、ステップS1500において、判定部150は、部位領域901と第二部位の候補領域902とが、対となる部位であるか否かを判断する。具体的には、判定部150は、特徴量修正部140の手法と同様に、特徴量修正部140で算出した特徴量の類似度を用いて判断する。
 なお、特徴量修正部140において、複数の特徴量を算出する場合、以下の数式(2)を用いて類似度を算出してもよい。
Figure JPOXMLDOC01-appb-M000002
 なお、数式(2)において、各値は、以下の通りである。CSi’は、i番目の第二部位の候補領域902の類似度スコアを示す。Max[C]は、部位領域901と第二部位の候補領域902との色の特徴量による類似度の最大値を示す。Ciは、i番目の第二部位の候補領域902と部位領域901の色の特徴量による類似度を示す。Tiは、i番目の第二部位の候補領域902と部位領域901のテクスチャの特徴量による類似度を示す。Max[T]は、部位領域901と第二部位の候補領域902のテクスチャの特徴量による類似度の最大値を示す。mとnは、予め定めておく重み定数で、n+m=1となるように設定される。重み定数は、色の特徴量とテクスチャの特徴量とが同じ程度信頼できる環境では同じ比率にする。その一方で、重み定数は、色の特徴量がテクスチャの特徴量よりも信用できる環境では、mをnより大きくするというように、事前の学習により設定される。
 判定部150は、CSi’の値が最も大きい第二部位の候補領域902を、部位領域901と対となる部位として抽出する。また、第二部位の候補領域902が1つの場合、判定部150は、CSi’が所定の値以上であれば、部位領域と対となる部位として抽出する。所定の値は、学習により予め設定される。
 このように、判定部150は、2つの特徴量を環境に応じて重み付けをして用いることで、より精度よく部位領域と対となる部位を抽出することが可能となる。
 以上で、ステップS1500の判定処理の具体例の説明を終える。
 (実施の形態1、2の変形例)
 以上、本実施の形態1、2についてそれぞれ説明したが、上記説明は一例であり、種々の変形が可能である。以下、本実施の形態1、2の変形例について説明する。
 例えば、実施の形態1および2で説明した姿勢推定装置100の動作は、ハードウェアとの連係において、ソフトウェアでも実現することも可能である。
 また、例えば、実施の形態2では、多関節物体を人として説明したが、本発明は、人に限定されない。
 また、例えば、実施の形態2において、特徴量修正部140は、固有特徴量の修正を行う前に、以下の特徴量判定処理を行うようにしてもよい。
 特徴量判定処理の概要は、次の通りである。まず、特徴量修正部140は、特徴量算出部130で算出した、部位領域の固有特徴量と第二部位の候補領域の固有特徴量との類似度を算出する。次に、特徴量修正部140は、算出した類似度に基づいて、部位領域と対の前腕であると推定できる第二部位の候補領域が存在するか否かを判断する。この判断の結果、部位領域と対の前腕であると推定できる第二部位の候補領域が存在しない場合、特徴量修正部140は、上述した固有特徴量の修正を行う。
 以下、特徴量判定処理の具体例について説明する。
 特徴量修正部140は、類似度の算出を行うにあたり、例えば、公知の技術であるコサイン類似度を用いるものとして説明するが、コサイン類似度に限定されない。コサイン類似度は、多次元の変数をベクトルと考え、ベクトルの向きが一致している時に最大値の1をとり、直交ならば0、向きが逆ならば最小値の-1をとる。特徴量修正部140が用いるコサイン類似度の数式(3)を以下に示す。
Figure JPOXMLDOC01-appb-M000003
 なお、数式(3)において、各値は、以下の通りである。kは、特徴量のビン数を示す。xiは、部位領域の特徴量のi番目のビンの値を示す。yiは、第二部位の候補領域の特徴量のi番目のビンの値を示す。
 特徴量修正部140は、部位領域901と第二部位の候補領域902のペアごとに、コサイン類似度を算出する。そして、特徴量修正部140は、ペアごとに、算出したコサイン類似度に基づいて、第二部位の候補領域902が部位領域901と似た特徴量を持っているか否かを判定する。ここで、特徴量修正部140は、コサイン類似度の値が最も大きい第二部位の候補領域902を、部位領域901の対となる候補領域として抽出してもよい。
 このように、姿勢推定装置100は、人340に共通の形状を示す情報に基づいて抽出した第二部位の候補領域902のうち、部位の可能性が高い第二部位の候補領域902を特定する。そして、姿勢推定装置100は、個別の人の部位に特有な情報を示す特徴量を用いて、部位領域901と特定した第二部位の候補領域902との類似度と、部位領域901と他の第二部位の候補領域902との類似度と、を比較する。これにより、姿勢推定装置100は、第二部位の候補領域902が複数ある場合にも、精度よく対となる部位を推定することができる。
 以上、本開示の姿勢推定装置は、対となる部位を有する多関節物体の全部または一部を含む画像に基づいて、前記対となる部位を推定する姿勢推定装置であって、前記画像から、前記対となる部位について不特定多数の多関節物体に共通する形状の特徴を示す共通特徴量を用いて、前記対となる部位の候補領域を複数抽出する候補領域抽出部と、前記複数の候補領域から、前記対となる部位である尤度が最大である第1候補領域を抽出し、前記第1候補領域以外を第2候補領域とする部位領域抽出部と、前記第1候補領域および前記第2候補領域のそれぞれについて、前記対となる部位について推定対象の多関節物体に固有の特徴を示す固有特徴量を算出する特徴量算出部と、前記第1候補領域および前記第2候補領域のうち、一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度のうち少なくとも1つに基づいて修正する特徴量修正部と、前記修正した固有特徴量と、前記他方の候補領域の固有特徴量との類似度に基づいて、前記第1候補領域と前記第2候補領域とが前記対となる部位であるか否かを判定する判定部と、を備える。
 また、本開示の姿勢推定装置において、前記特徴量修正部は、前記第1候補領域の固有特徴量と前記第2候補領域の固有特徴量との類似度を算出し、前記算出した類似度に基づいて、前記第1候補領域と対になると推定できる前記第2候補領域が存在するか否かを判断し、前記判断の結果、前記第1候補領域と対になると推定できる前記第2候補領域が存在しない場合、前記一方の候補領域の固有特徴量の修正を行う。
 また、本開示の姿勢推定装置において、前記特徴量修正部は、前記第1候補領域の固有特徴量を、前記第2候補領域の長さ、幅、および角度の少なくとも1つに基づいて修正する。
 また、本開示の姿勢推定装置において、前記特徴量修正部は、前記第2候補領域の長軸と楕円周との交点として、基準点からの距離が短い第1交点と、前記基準点からの距離が長い第2交点とを抽出し、他の部位が存在する可能性のある領域に前記第1交点および前記第2交点が含まれるか否かに基づいて、前記第2候補領域が前記他の部位に遮蔽されている可能性を判断し、遮蔽されている可能性がある場合、前記第1候補領域の一部を抽出し、抽出した前記第1候補領域の一部について、固有特徴量の算出を行う。
 また、本開示の姿勢推定装置において、前記特徴量修正部は、前記第1候補領域と前記第2候補領域とが為す角度が0度であるか否かを判断し、前記角度が0度ではない場合、前記角度を用いて、前記第1候補領域の一部または全部を回転させる。
 また、本開示の姿勢推定装置において、前記特徴量修正部は、前記第1候補領域の長軸の長さと前記第2候補領域の長軸の長さとを比較し、前記長軸の長さの差が所定の値より小さい場合、または、前記長軸の長さが等しい場合、前記第1候補領域の長軸の長さに対する前記第2候補領域の長軸の長さの比率に合わせて、前記第1候補領域を縮小し、縮小した前記第1候補領域について、固有特徴量の算出を行う。
 また、本開示の姿勢推定装置において、前記候補領域抽出部は、前記対となる部位の特性について予め定められた制約情報に基づいて、前記複数の候補領域を抽出する。
 また、本開示の姿勢推定装置において、前記共通特徴量は、エッジのみ、または、エッジおよびシルエットである。
 また、本開示の姿勢推定装置において、前記固有特徴量は、色およびテクスチャのうち少なくとも1つである。
 本開示の姿勢推定方法は、対となる部位を有する多関節物体の全部または一部を含む画像に基づいて、前記対となる部位を推定する姿勢推定方法であって、前記画像から、前記対となる部位について不特定多数の多関節物体に共通する形状の特徴を示す共通特徴量を用いて、前記対となる部位の候補領域を複数抽出するステップと、前記複数の候補領域から、前記対となる部位である尤度が最大である第1候補領域を抽出し、前記第1候補領域以外を第2候補領域とするステップと、前記第1候補領域および前記第2候補領域のそれぞれについて、前記対となる部位について推定対象の多関節物体に固有の特徴を示す固有特徴量を算出するステップと、前記第1候補領域および前記第2候補領域のうち、一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度のうち少なくとも1つに基づいて修正するステップと、前記修正した固有特徴量と、前記他方の候補領域の固有特徴量との類似度に基づいて、前記第1候補領域と前記第2候補領域とが前記対となる部位であるか否かを判定するステップと、を有する。
 本開示の姿勢推定プログラムは、対となる部位を有する多関節物体の全部または一部を含む画像に基づいて、前記対となる部位を推定する装置のコンピュータに実行させる姿勢推定プログラムであって、前記画像から、前記対となる部位について不特定多数の多関節物体に共通する形状の特徴を示す共通特徴量を用いて、前記対となる部位の候補領域を複数抽出する処理と、前記複数の候補領域から、前記対となる部位である尤度が最大である第1候補領域を抽出し、前記第1候補領域以外を第2候補領域とする処理と、前記第1候補領域および前記第2候補領域のそれぞれについて、前記対となる部位について推定対象の多関節物体に固有の特徴を示す固有特徴量を算出する処理と、前記第1候補領域および前記第2候補領域のうち、一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度のうち少なくとも1つに基づいて修正する処理と、前記修正した固有特徴量と、前記他方の候補領域の固有特徴量との類似度に基づいて、前記第1候補領域と前記第2候補領域とが前記対となる部位であるか否かを判定する処理と、を実行させる。
 2012年7月26日出願の特願2012-165671の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
 本発明に係る姿勢推定装置、姿勢推定方法および姿勢推定プログラムは、対となる部位を有する多関節物体の姿勢を高精度に推定することができる装置、方法およびプログラムに有用である。
 100 姿勢推定装置
 110 候補領域抽出部
 120 部位領域抽出部
 130 特徴量算出部
 140 特徴量修正部
 150 判定部
 200 姿勢推定システム
 310 撮影エリア
 320 カメラ
 330 床面
 340 人
 

Claims (11)

  1.  対となる部位を有する多関節物体の全部または一部を含む画像に基づいて、前記対となる部位を推定する姿勢推定装置であって、
     前記画像から、前記対となる部位について不特定多数の多関節物体に共通する形状の特徴を示す共通特徴量を用いて、前記対となる部位の候補領域を複数抽出する候補領域抽出部と、
     前記複数の候補領域から、前記対となる部位である尤度が最大である第1候補領域を抽出し、前記第1候補領域以外を第2候補領域とする部位領域抽出部と、
     前記第1候補領域および前記第2候補領域のそれぞれについて、前記対となる部位について推定対象の多関節物体に固有の特徴を示す固有特徴量を算出する特徴量算出部と、
     前記第1候補領域および前記第2候補領域のうち、一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度のうち少なくとも1つに基づいて修正する特徴量修正部と、
     前記修正した固有特徴量と、前記他方の候補領域の固有特徴量との類似度に基づいて、前記第1候補領域と前記第2候補領域とが前記対となる部位であるか否かを判定する判定部と、
     を備える姿勢推定装置。
  2.  前記特徴量修正部は、
     前記第1候補領域の固有特徴量と前記第2候補領域の固有特徴量との類似度を算出し、
     前記算出した類似度に基づいて、前記第1候補領域と対になると推定できる前記第2候補領域が存在するか否かを判断し、
     前記判断の結果、前記第1候補領域と対になると推定できる前記第2候補領域が存在しない場合、前記一方の候補領域の固有特徴量の修正を行う、
     請求項1記載の姿勢推定装置。
  3.  前記特徴量修正部は、
     前記第1候補領域の固有特徴量を、前記第2候補領域の長さ、幅、および角度の少なくとも1つに基づいて修正する、
     請求項1記載の姿勢推定装置。
  4.  前記特徴量修正部は、
     前記第2候補領域の長軸と楕円周との交点として、基準点からの距離が短い第1交点と、前記基準点からの距離が長い第2交点とを抽出し、
     他の部位が存在する可能性のある領域に前記第1交点および前記第2交点が含まれるか否かに基づいて、前記第2候補領域が前記他の部位に遮蔽されている可能性を判断し、
     遮蔽されている可能性がある場合、前記第1候補領域の一部を抽出し、
     抽出した前記第1候補領域の一部について、固有特徴量の算出を行う、
     請求項1記載の姿勢推定装置。
  5.  前記特徴量修正部は、
     前記第1候補領域と前記第2候補領域とが為す角度が0度であるか否かを判断し、
     前記角度が0度ではない場合、前記角度を用いて、前記第1候補領域の一部または全部を回転させる、
     請求項1記載の姿勢推定装置。
  6.  前記特徴量修正部は、
     前記第1候補領域の長軸の長さと前記第2候補領域の長軸の長さとを比較し、
     前記長軸の長さの差が所定の値より小さい場合、または、前記長軸の長さが等しい場合、前記第1候補領域の長軸の長さに対する前記第2候補領域の長軸の長さの比率に合わせて、前記第1候補領域を縮小し、
     縮小した前記第1候補領域について、固有特徴量の算出を行う、
     請求項1記載の姿勢推定装置。
  7.  前記候補領域抽出部は、
     前記対となる部位の特性について予め定められた制約情報に基づいて、前記複数の候補領域を抽出する、
     請求項1記載の姿勢推定装置。
  8.  前記共通特徴量は、エッジのみ、または、エッジおよびシルエットである、
     請求項1記載の姿勢推定装置。
  9.  前記固有特徴量は、色およびテクスチャのうち少なくとも1つである、
     請求項1記載の姿勢推定装置。
  10.  対となる部位を有する多関節物体の全部または一部を含む画像に基づいて、前記対となる部位を推定する姿勢推定方法であって、
     前記画像から、前記対となる部位について不特定多数の多関節物体に共通する形状の特徴を示す共通特徴量を用いて、前記対となる部位の候補領域を複数抽出するステップと、
     前記複数の候補領域から、前記対となる部位である尤度が最大である第1候補領域を抽出し、前記第1候補領域以外を第2候補領域とするステップと、
     前記第1候補領域および前記第2候補領域のそれぞれについて、前記対となる部位について推定対象の多関節物体に固有の特徴を示す固有特徴量を算出するステップと、
     前記第1候補領域および前記第2候補領域のうち、一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度のうち少なくとも1つに基づいて修正するステップと、
     前記修正した固有特徴量と、前記他方の候補領域の固有特徴量との類似度に基づいて、前記第1候補領域と前記第2候補領域とが前記対となる部位であるか否かを判定するステップと、
     を有する姿勢推定方法。
  11.  対となる部位を有する多関節物体の全部または一部を含む画像に基づいて、前記対となる部位を推定する装置のコンピュータに実行させる姿勢推定プログラムであって、
     前記画像から、前記対となる部位について不特定多数の多関節物体に共通する形状の特徴を示す共通特徴量を用いて、前記対となる部位の候補領域を複数抽出する処理と、
     前記複数の候補領域から、前記対となる部位である尤度が最大である第1候補領域を抽出し、前記第1候補領域以外を第2候補領域とする処理と、
     前記第1候補領域および前記第2候補領域のそれぞれについて、前記対となる部位について推定対象の多関節物体に固有の特徴を示す固有特徴量を算出する処理と、
     前記第1候補領域および前記第2候補領域のうち、一方の候補領域の固有特徴量を、他方の候補領域の長さ、幅、および角度のうち少なくとも1つに基づいて修正する処理と、
     前記修正した固有特徴量と、前記他方の候補領域の固有特徴量との類似度に基づいて、前記第1候補領域と前記第2候補領域とが前記対となる部位であるか否かを判定する処理と、
     を実行させる姿勢推定プログラム。
     
PCT/JP2013/003509 2012-07-26 2013-06-04 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム WO2014017006A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/413,814 US9576191B2 (en) 2012-07-26 2013-06-04 Posture estimation device, posture estimation method, and posture estimation program
CN201380039239.3A CN104487999B (zh) 2012-07-26 2013-06-04 姿势估计装置和姿势估计方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-165671 2012-07-26
JP2012165671A JP5898014B2 (ja) 2012-07-26 2012-07-26 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム

Publications (1)

Publication Number Publication Date
WO2014017006A1 true WO2014017006A1 (ja) 2014-01-30

Family

ID=49996834

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/003509 WO2014017006A1 (ja) 2012-07-26 2013-06-04 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム

Country Status (4)

Country Link
US (1) US9576191B2 (ja)
JP (1) JP5898014B2 (ja)
CN (1) CN104487999B (ja)
WO (1) WO2014017006A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013011644A1 (ja) * 2011-07-15 2013-01-24 パナソニック株式会社 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム
JP6728865B2 (ja) * 2016-03-25 2020-07-22 富士ゼロックス株式会社 手上げ検出装置及び手上げ検出プログラム
JP6563873B2 (ja) * 2016-08-02 2019-08-21 トヨタ自動車株式会社 向き判別装置、向き判別方法
JP6325174B1 (ja) * 2017-04-04 2018-05-16 株式会社Mujin 制御装置、ピッキングシステム、物流システム、プログラム、制御方法、及び、生産方法
WO2018185857A1 (ja) 2017-04-04 2018-10-11 株式会社Mujin 情報処理装置、ピッキングシステム、物流システム、プログラム、及び、情報処理方法
CN110494257B (zh) 2017-04-04 2020-12-18 牧今科技 控制装置、拾取系统、物流系统、程序、控制方法以及生产方法
CN115385039A (zh) 2017-04-04 2022-11-25 牧今科技 控制装置、信息处理装置、控制方法以及信息处理方法
DE112017007398B4 (de) 2017-04-04 2021-11-18 Mujin, Inc. Steuervorrichtung, Greifsystem, Verteilersystem, Programm und Steuerverfahren
DE102017216953A1 (de) * 2017-09-25 2019-03-28 Siemens Healthcare Gmbh Anzeige eines mit einem realen Objekt verknüpften virtuellen Objekts in einer Augmented-Reality-Anzeigevorrichtung
JP7210890B2 (ja) * 2018-03-29 2023-01-24 株式会社リコー 行動認識装置、行動認識方法、そのプログラム及びそのプログラムを記録したコンピュータ読取り可能な記録媒体
JP7196645B2 (ja) * 2019-01-31 2022-12-27 コニカミノルタ株式会社 姿勢推定装置、行動推定装置、姿勢推定プログラム、および姿勢推定方法
CN110427890B (zh) * 2019-08-05 2021-05-11 华侨大学 基于深度级联网络和质心分化编码的多人姿态估计方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007199864A (ja) * 2006-01-24 2007-08-09 Matsushita Electric Ind Co Ltd 画像列生成方法および画像列生成装置
JP2008537815A (ja) * 2005-03-17 2008-09-25 本田技研工業株式会社 クリティカルポイント解析に基づくポーズ推定
JP2009075868A (ja) * 2007-09-20 2009-04-09 Toshiba Corp 画像から対象を検出する装置、方法およびプログラム
WO2012046392A1 (ja) * 2010-10-08 2012-04-12 パナソニック株式会社 姿勢推定装置及び姿勢推定方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3400961B2 (ja) 1999-09-27 2003-04-28 株式会社国際電気通信基礎技術研究所 人物像の姿勢推定装置および人物像の姿勢推定プログラムを記録した記録媒体
JP4492036B2 (ja) * 2003-04-28 2010-06-30 ソニー株式会社 画像認識装置及び方法、並びにロボット装置
JP2005339100A (ja) 2004-05-26 2005-12-08 Advanced Telecommunication Research Institute International 身体動作解析装置
US8023726B2 (en) * 2006-11-10 2011-09-20 University Of Maryland Method and system for markerless motion capture using multiple cameras
CN102279979A (zh) * 2010-06-12 2011-12-14 陈姝 利用骨骼约束计算透视投影成像模型中比例因子的方法
WO2012077287A1 (ja) * 2010-12-09 2012-06-14 パナソニック株式会社 姿勢状態推定装置および姿勢状態推定方法
JP5873442B2 (ja) * 2010-12-09 2016-03-01 パナソニック株式会社 物体検出装置および物体検出方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008537815A (ja) * 2005-03-17 2008-09-25 本田技研工業株式会社 クリティカルポイント解析に基づくポーズ推定
JP2007199864A (ja) * 2006-01-24 2007-08-09 Matsushita Electric Ind Co Ltd 画像列生成方法および画像列生成装置
JP2009075868A (ja) * 2007-09-20 2009-04-09 Toshiba Corp 画像から対象を検出する装置、方法およびプログラム
WO2012046392A1 (ja) * 2010-10-08 2012-04-12 パナソニック株式会社 姿勢推定装置及び姿勢推定方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUSUKE TAKEBAYASHI ET AL.: "Similarity Retrieval for Motion Capture Data", THE JOURNAL OF THE INSTITUTE OF IMAGE INFORMATION AND TELEVISION ENGINEERS, vol. 62, no. 9, 1 September 2008 (2008-09-01), pages 1420 - 1426 *

Also Published As

Publication number Publication date
US20150169947A1 (en) 2015-06-18
CN104487999B (zh) 2017-11-10
US9576191B2 (en) 2017-02-21
JP2014026429A (ja) 2014-02-06
CN104487999A (zh) 2015-04-01
JP5898014B2 (ja) 2016-04-06

Similar Documents

Publication Publication Date Title
JP5898014B2 (ja) 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム
US10600207B2 (en) Posture state estimation apparatus and posture state estimation method
JP5877053B2 (ja) 姿勢推定装置および姿勢推定方法
CN108717531B (zh) 基于Faster R-CNN的人体姿态估计方法
JP5873442B2 (ja) 物体検出装置および物体検出方法
US9330307B2 (en) Learning based estimation of hand and finger pose
US9898651B2 (en) Upper-body skeleton extraction from depth maps
US9058514B2 (en) Apparatus and method for estimating joint structure of human body
US9480417B2 (en) Posture estimation device, posture estimation system, and posture estimation method
JP5801237B2 (ja) 部位推定装置、部位推定方法、および部位推定プログラム
JP2019125057A (ja) 画像処理装置及びその方法、プログラム
US10043279B1 (en) Robust detection and classification of body parts in a depth map
JP4938748B2 (ja) 画像認識装置及びプログラム
JP6410231B2 (ja) 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム
JP5503510B2 (ja) 姿勢推定装置および姿勢推定プログラム
CN108694348B (zh) 一种基于自然特征的跟踪注册方法及装置
JP6810442B2 (ja) カメラアセンブリ、そのカメラアセンブリを用いる手指形状検出システム、そのカメラアセンブリを用いる手指形状検出方法、その検出方法を実施するプログラム、及び、そのプログラムの記憶媒体
CN109690555A (zh) 基于曲率的脸部检测器
Koniarski Augmented reality using optical flow
JP7374401B1 (ja) 人物相関判定装置、人物相関判定方法および人物相関判定プログラム
Anishchenko et al. Head pose estimation in solving human-computer interaction problems
Cheng et al. 3D medial axis distance for hand detection

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14413814

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

Country of ref document: EP

Kind code of ref document: A1