WO2016067573A1 - 姿勢推定方法および姿勢推定装置 - Google Patents

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

Info

Publication number
WO2016067573A1
WO2016067573A1 PCT/JP2015/005332 JP2015005332W WO2016067573A1 WO 2016067573 A1 WO2016067573 A1 WO 2016067573A1 JP 2015005332 W JP2015005332 W JP 2015005332W WO 2016067573 A1 WO2016067573 A1 WO 2016067573A1
Authority
WO
WIPO (PCT)
Prior art keywords
posture
player
information
processor
joint
Prior art date
Application number
PCT/JP2015/005332
Other languages
English (en)
French (fr)
Inventor
川口 京子
大気 関井
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to EP15853912.2A priority Critical patent/EP3214604B1/en
Priority to US15/329,031 priority patent/US10121260B2/en
Priority to JP2016556213A priority patent/JP6589144B2/ja
Publication of WO2016067573A1 publication Critical patent/WO2016067573A1/ja

Links

Images

Classifications

    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • 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/30221Sports video; Sports image

Definitions

  • the present disclosure relates to a posture estimation method and posture estimation device for a player present in a sports video.
  • Non-Patent Document 1 discloses a method for estimating the posture of a player present in a sports video. This posture estimation method performs posture estimation using basic part information. As a result, the posture of the person can be estimated with high accuracy.
  • This disclosure provides a posture estimation method and a posture estimation device that efficiently estimate the posture of a player existing in a sports video.
  • the processor of the posture estimation apparatus is information obtained based on information input by a user as a method for estimating the posture of a player existing in a sports video, and is present in the sports video of a game to be estimated Reference posture information, which is information for specifying the joint position of a specific player to be received, is received. Then, the processor uses the reference posture information to estimate the posture of the estimation target player who is a player other than the specific player existing in the estimation target sports video.
  • the posture estimation method and apparatus is effective for efficiently estimating the posture of a player existing in a sports video.
  • FIG. 1 is a diagram illustrating a configuration of the posture estimation apparatus according to the first embodiment.
  • FIG. 2 is a diagram for explaining the learning concept of the joint label discriminator according to the first embodiment.
  • FIG. 3 is a flowchart for explaining posture estimation processing in the first embodiment.
  • FIG. 4 is a diagram for explaining reference posture information of a specific player in the first embodiment.
  • FIG. 5 is a diagram showing a concept for specifying the estimation target player in the first embodiment.
  • FIG. 6 is a flowchart for explaining processing for estimating the posture of the estimation target player using the reference posture information in the first embodiment.
  • FIG. 7 is a diagram illustrating a concept in which a joint label is given to the estimation target player using the reference posture information in the first embodiment.
  • FIG. 8 is a diagram showing a concept of calculating joint likelihood using the reference posture information in the first embodiment.
  • FIG. 9 is a diagram for explaining the concept of specifying a set of joint labels using the dynamic programming method according to the first embodiment.
  • FIG. 10 is a diagram for explaining the concept of meaning the posture of the estimation target player based on the identified joint label set in the first embodiment.
  • FIG. 11 is a flowchart for explaining processing for estimating the posture of the estimation target player using the reference posture information according to another embodiment.
  • FIG. 1 is a diagram illustrating an example of the configuration of the posture estimation apparatus according to the first embodiment.
  • the posture estimation apparatus 100 includes a processor 101, a storage unit 102, an input unit 103, a display unit 104, and a bus 105.
  • the processor 101 controls other components of the posture estimation device by performing calculations.
  • the storage unit 102 stores information temporarily or permanently.
  • the storage unit 102 corresponds to a ROM (Read Only Memory) or a RAM (Random Access Memory) of the posture estimation device.
  • the posture estimation apparatus 100 may have a plurality of storage units 102 depending on the application and the necessity of access speed.
  • the storage unit 102 can be configured by applying an HDD (Hard Disk Drive), an SDRAM (Synchronous Dynamic Random Access Memory), or the like.
  • the input unit 103 receives an external signal.
  • the input unit 103 corresponds to an input device or an input interface of the posture estimation device 100.
  • the input unit 103 can be configured by applying an input device such as a mouse or a keyboard, or an input interface such as a communication port or a wireless communication device.
  • Display unit 104 displays information to the outside.
  • the display unit 104 can be configured by applying a liquid crystal display or the like.
  • the bus 105 is a path for connecting each element constituting the posture estimation apparatus 100.
  • the bus 105 can be configured inside the processor 101 by integrating the bus 105 with the processor 101.
  • each element may be connected by wire, or each element may be connected wirelessly.
  • posture estimation apparatus 100 may be configured by adding another component to the configuration described above. Moreover, you may comprise the attitude
  • the posture estimation device 100 operates mainly when the processor 101 cooperates with each element of the posture estimation device 100.
  • the posture estimation device 100 estimates the posture of the estimation target player existing in the sports video input from the input unit 103.
  • the posture estimation device 100 estimates the posture of the player in the order described below.
  • the posture estimation apparatus 100 performs machine learning in advance before estimating the posture of the player.
  • Machine learning means that a large amount of attributed data is input to a device, and the device generates a discrimination (identification) rule from the data according to a predetermined algorithm. By using the generated discrimination rule, the device can discriminate which attribute the newly given data has.
  • the posture estimation device 100 performs two types of machine learning.
  • the two types of machine learning are machine learning for the posture estimation device 100 to act as a joint label discriminator and machine learning for the posture estimation device 100 to act as a joint likelihood distribution discriminator.
  • the purpose and method of discrimination differ between the two types of machine learning.
  • FIG. 2 is a diagram for explaining the concept of learning by the joint label discriminator in the first embodiment.
  • the learning player image 200 is an image of a player obtained from an image during an American football game.
  • the posture estimation apparatus 100 can obtain a learning player image 200 by acquiring one frame from an image during an American football game.
  • the posture estimation apparatus 100 can obtain the learning player image 200 by acquiring a photograph during an American football game.
  • the posture estimation device 100 reads a large number of learning player images 200 having different postures.
  • the posture estimation apparatus 100 can read the learned player image 200 by recording the learned player image 200 in the storage unit 102.
  • the posture estimation apparatus 100 learns joint labels from the read learning player image 200.
  • the posture estimation device 100 is (1) which one of the joints of the learning player image 200 is located around which joint of the human body (2) what is the feature quantity of any one point of the learning player image 200
  • the joint label is learned by applying these two elements to a predetermined algorithm.
  • the posture estimation apparatus 100 (1) acquires an element indicating which joint of an arbitrary one of the learning player images 200 is present in the joints of the human body. Each point of the learning player image 200 has information indicating which joint of the human body exists around the joint. In the present embodiment, there are five types of joints: head, chest, waist, above knee, and below knee.
  • the posture estimation apparatus 100 refers to information on the type of the joint held by the learning player image 200, and (1) which one of the learning player images 200 is located around which joint of the human body is present. Get the element.
  • the posture estimation device 100 uses the concept of a patch to calculate (2) how many feature values of any one point in the learning player image 200 are.
  • the patch is a rectangular area defined with respect to an arbitrary point in the learning player image 200 as a center.
  • the posture estimation apparatus 100 includes (A) a distance from the head to the center of the patch, (B) a feature amount calculated based on two points in the patch, (C) one point in the patch and reference posture information, The three types of feature amounts of the RGB color vector angle are calculated.
  • the processor 101 of the posture estimation apparatus 100 calculates the distance from the head 202 to the center of the patch 201 as shown in FIG. 2 (A) to obtain the distance from the head to the center of the patch.
  • the distance from the head to the center of the patch is in the form of (x, y) two-dimensional coordinates. Note that the processor 101 calculates the distance by using the coordinates of the head 202 defined in advance in the learning player image 200.
  • the processor 101 records the distance from the head (A) to the center of the patch obtained as described above in the storage unit 102.
  • the processor 101 of the posture estimation apparatus 100 calculates the feature amount based on the points 203 and 204 of the patch 201 as shown in FIG. 2, and (B) calculates the feature amount calculated based on the two points in the patch.
  • Ask. A point 203 and a point 204 are a random pair of two pixels defined in the patch 201.
  • the processor 101 calculates three types of feature amounts based on the points 203 and 204.
  • the three types of feature amounts are three types: (I) luminance values, (II) RGB color vector angles, and (III) HOG (Histogram of Oriented Gradients) feature amount difference values.
  • the processor 101 calculates (I) luminance values at points 203 and 204. Each pixel of the learning player image 200 holds a defined luminance value. The processor 101 refers to the learning player image 200 to calculate the luminance values of the points 203 and 204.
  • the processor 101 calculates the angle of the (II) RGB color vector at points 203 and 204.
  • the RGB color vector is a vector defined on a three-dimensional space with R (Red), G (Green), and B (Blue) as axes. Each pixel of the learning player image 200 holds a defined RGB value.
  • Two RGB color vectors can be obtained by plotting the RGB values of the points 203 and 204 on a three-dimensional space with R, G, and B as axes.
  • the processor 101 can calculate the angles of the (II) RGB color vectors of the points 203 and 204 by calculating the angles of the two RGB color vectors.
  • the processor 101 calculates a difference value of (III) HOG feature amount for the points 203 and 204.
  • the HOG feature value is a histogram of the luminance gradient in the vicinity of a point in the image.
  • the processor 101 defines nine cells by dividing the neighborhood of each point into 3 ⁇ 3.
  • the processor 101 obtains HOG feature values at the points 203 and 204 by forming a histogram of the luminance gradients in the nine defined cells.
  • the processor 101 obtains a difference value of the HOG feature value by performing subtraction between the histograms at the HOG feature values at the points 203 and 204. In this way, the processor 101 can calculate the difference value of the (III) HOG feature amount for the points 203 and 204.
  • the processor 101 calculates (I) the luminance value, (II) the angle of the RGB color vector, and (III) the difference value of the HOG feature value obtained as described above, based on (B) two points in the patch. And recorded in the storage unit 102 as a feature amount.
  • the processor 101 of the posture estimation apparatus 100 (C) calculates the angle of the RGB color vector between one point in the patch and the reference posture.
  • the learning reference posture 210 is an image of a predefined player image obtained from an image during an American football game.
  • the posture estimation apparatus 100 can obtain the learning reference posture 210 by acquiring one frame from an image during an American football game.
  • the posture estimation apparatus 100 can obtain the learning reference posture 210 by acquiring a photograph during an American football game.
  • the learning reference posture 210 functions as a reference (measurement) for the learning player image 200.
  • the player in the learning reference posture 210 is preferably a player that exists in an environment similar to the player in the learning player image 200. Specifically, it is desirable that the player in the learning reference posture 210 is the same team as the player in the learning player image 200 and obtained from the same game video.
  • Each point of the learning reference posture 210 has information on which joint of the human body is present.
  • the processor 101 uses the RGB color vectors of the points 203 or 204 in the patch 201 of the learning player image 200 and the learning reference posture information 211 to the learning reference posture information 215 that are points in the vicinity of each joint of the learning reference posture 210. Calculate the angle.
  • the RGB color vectors are the same as those described when calculating the angles of the RGB color vectors at points 203 and 204.
  • Reference posture information for learning 211, reference posture information for learning 212, reference posture information for learning 213, reference posture information for learning 214, and reference posture information for learning 215 exist in the vicinity of the head, chest, waist, above the knee, and below the knee, respectively. It is a point to do.
  • the processor 101 can obtain the learning reference posture information 211 to the learning reference posture information 215 by randomly selecting the learning reference posture information 211 to the learning reference posture information 215 within the vicinity of each joint.
  • the processor 101 uses the learning reference posture information 211 to the learning reference posture information 215 obtained as described above, so that each of the point 203 or the point 204 in the patch 201 of the learning player image 200 and the learning reference posture 210 is obtained.
  • the angle of the RGB color vector between the learning reference posture information 211 to the learning reference posture information 215 in the vicinity of the joint is calculated.
  • the processor 101 records the angle of the RGB color vector between one point in the patch (C) and the reference posture calculated as described above in the storage unit 102.
  • the processor 101 records the feature amount of each point in the storage unit 102 by repeating the above processing for each point (each patch) of each learning player image 200. In this way, (1) which one of the learning player images 200 is located around which joint of the human body exists, and (2) the feature amount of any one point of the learning player image 200 is Some elements are recorded in the storage unit 102. This pair of elements is called correct answer data.
  • the processor 101 records the feature amount of each point in the storage unit 102 by repeating the above processing for each point on the ground other than each learning player image 200 and around each learning player image 200. In this way, (1) any one point not included in the learning player image 200, and (2) some feature quantity of the one arbitrary point is recorded in the storage unit 102. This pair of elements is called incorrect answer data.
  • the processor 101 of the posture estimation apparatus 100 applies the correct answer data and the incorrect answer data recorded in this manner to a predetermined algorithm, so that unknown points on the sport image are located around which joint of the human body. It can be determined whether it exists. Specifically, when the processor 101 finds that an unknown point on the sports image has a predetermined feature amount in relation to the reference image information, the point is a joint (head, chest, waist, above knee, below knee). It is possible to discriminate which part of the area is located around or belongs to other than the joint (such as the ground). This is because the processor 101 learns what features of the joints of the human body are present in relation to the reference image information, and is not included in the learning player image 200.
  • the output of the result determined in this way is called a joint label.
  • the processor 101 of the posture estimation apparatus 100 can behave as a joint label discriminator.
  • the processor 101 can output a joint label when an unknown point on the image and reference image information are given by acting as a joint label discriminator.
  • the processor 101 determines by adopting, for example, an algorithm using a decision tree as a predetermined algorithm.
  • an algorithm for creating a decision tree using randomly selected elements is called a Random-forest method.
  • machine learning the concept of performing learning using correct answer data and incorrect answer data for data discrimination.
  • a joint label discriminator is configured by using the Random-forest method.
  • the specific algorithm applied to the posture estimation apparatus 100 is not limited to the Random-forest method.
  • a specific algorithm applied to the posture estimation apparatus 100 can be selected from known algorithms used for machine learning. Further, it is not necessary for the posture estimation apparatus 100 to actually perform machine learning.
  • the processor 101 of the posture estimation device 100 can behave as a joint label discriminator by using a discriminant obtained by other devices performing machine learning.
  • the processor 101 behaves as a joint likelihood distribution classifier by performing machine learning using the feature amount described in the learning of the joint label classifier.
  • the processor 101 performs machine learning by using the Random-Forest method for learning the joint label classifier, but performs machine learning by using the Regression-Forest method for learning the joint likelihood distribution classifier.
  • the Regression-Forest method is an algorithm obtained by applying the Random-Forest method.
  • the Regression-Forest method is different from the Random-Forest method in that the likelihood can be output. Specifically, in the Random-Forest method, learning is performed using data of 1 for a specific joint label and 0 for other portions, so that the Regression-Forest method can be used.
  • the processor 101 that has performed machine learning by the regression-forest method can output a likelihood between 0 and 1 for one point in an image with a joint label (if the likelihood is close to 1, It shows that the attached joint label is likely to be correct).
  • the joint likelihood distribution classifier is configured by using the regression-forest method.
  • the specific algorithm applied to the posture estimation apparatus 100 is not limited to the regression-forest method.
  • a specific algorithm applied to the posture estimation apparatus 100 can be selected from known algorithms used for machine learning. Further, it is not necessary for the posture estimation apparatus 100 to actually perform machine learning.
  • the processor 101 of the posture estimation apparatus 100 can behave as a joint likelihood distribution classifier by using a likelihood output algorithm obtained by machine learning performed by another apparatus.
  • FIG. 3 is a flowchart for explaining posture estimation processing in the first embodiment.
  • the posture estimation process performed by the posture estimation apparatus 100 including the processor 101 that behaves as a joint label discriminator and a joint likelihood distribution discriminator will be described with reference to FIG.
  • the processor 101 starts posture estimation processing (step S300).
  • the processor 101 starts a posture estimation process by executing a specific application.
  • the processor 101 displays one frame of the posture estimation video on the display unit 104.
  • the posture estimation image is an image during an American football game.
  • the processor 101 may receive the posture estimation video via the input unit and display it on the display unit 104, or may read the posture estimation video recorded in the storage unit 102 and display it on the display unit 104. .
  • the processor 101 receives the reference posture information of the specific player (step S310).
  • the specific player is a player in the frame displayed in step S300. Although it is desirable that at least one specific player is specified for each team, only one player of either team may be specified.
  • the reference posture information is input for each player of each of the two opposing teams.
  • the reference posture information is information for designating the joint position of a specific player. By using the reference posture information, it is possible to define a reference posture that serves as a standard (measurement) for posture estimation processing.
  • FIG. 4 is a diagram for explaining the reference posture information of the specific player in the first embodiment.
  • the specific player 400 is a player that exists in the frame displayed on the display unit 104 in step S300 (in FIG. 4, only the periphery of the specific player 400 in the frame is enlarged for convenience).
  • the processor 101 receives input of points 401 to 404 from the user of the posture estimation apparatus 100 via the input unit 103.
  • the user can input points 401 to 404 by using a mouse or a touch panel as the input unit 103, for example.
  • the specific player 400 is preferably a player that exists in an environment similar to the estimation target player 500 described later. Specifically, it is desirable that the specific player 400 is the same team as the player of the estimation target player 500 and is a player obtained from the same game video.
  • Points 401 to 404 are information input by the user of posture estimation apparatus 100.
  • the user inputs points 401 to 404 as the vicinity of a specific part in the body of the specific player.
  • a point 401 designates the head of a specific player.
  • Point 402 designates the waist of a specific player.
  • Point 403 designates the knee of a specific player.
  • Point 404 designates the knee of a specific player.
  • the processor 101 calculates reference posture information 411 to reference posture information 415 based on the points 401 to 404.
  • the processor 101 calculates the reference posture information 411 by calculating the coordinates of the point 401.
  • the processor 101 calculates reference posture information 412 by calculating coordinates between the point 401 and the point 402.
  • the processor 101 calculates the reference posture information 413 by calculating the coordinates of the point 402.
  • the processor 101 calculates the reference posture information 414 by calculating the coordinates of the point 403.
  • the processor 101 calculates the reference posture information 415 by calculating the coordinates of the point 404.
  • the reference posture information 411 to the reference posture information 415 obtained in this way are information for designating joint positions of the specific player such as the head, chest, waist, above-knee, and below-knee.
  • the processor 101 obtains the reference posture information of the specific player based on the user input.
  • the processor 101 When the processor 101 receives the reference posture information of the specific player, the processor 101 subsequently specifies the estimation target player (step S320).
  • the estimation target player is a player other than the specific target player, and is a player in the frame displayed in step S300.
  • FIG. 5 is a diagram showing a concept for specifying the estimation target player in the first embodiment.
  • the estimation target player 500 is a player that exists in the frame displayed on the display unit 104 in step S300 and is a player other than the specific player 400 (only the periphery of the estimation target player 500 is enlarged in FIG. 5).
  • the processor 101 receives an input of the point 501 from the user of the posture estimation apparatus 100 via the input unit 103.
  • the specific player 400 and the estimation target player 500 are not necessarily present in the same frame.
  • Point 501 is information input by the user of posture estimation apparatus 100.
  • a point 501 is information input from a mouse or a touch panel as the input unit 103 of the posture estimation apparatus 100, for example.
  • the user inputs a point 501 as specifying the head of the estimation target player 500.
  • the processor 101 recognizes a point 501 that is information input from the user, and thereby extracts the estimation target player from the frame.
  • the processor 101 performs a process of cutting out the estimation target player from the frame by cutting out a rectangular area having the point 501 as a predetermined position from the frame.
  • the processor 101 separates the background image area and the human image area by performing processing such as edge detection on the rectangular area cut out from the frame.
  • the processor 101 treats the area divided as the person image as the estimation target player 500.
  • the rectangular area can be suitably cut out.
  • the processor 101 can estimate the size of the estimation target player 500 based on the size of the specific player 400.
  • the processor 101 estimates the size of the specific player 400 based on the reference posture information 411 to 415 of the specific player 400.
  • the processor 101 can set the rectangular area in an appropriate range by determining the lengths of the long side and the short side of the rectangular area based on the estimated size. It can be carried out.
  • the point 501 is not limited to information input by the user of the posture estimation apparatus 100.
  • the point 501 may be specified by the processor 101 autonomously detecting the shape of the human head or upper body present in the frame.
  • the processor 101 can autonomously detect the shape of the head existing in the frame by acting as a head detector or an upper body detector.
  • the processor 101 can behave as a head detector or an upper body detector by learning a human head pattern or upper body pattern using machine learning.
  • the processor 101 detects the shape of the head as a head detector
  • the processor 101 sets an arbitrary point included in the head as the point 501.
  • the processor 101 detects the shape of the upper body as the upper body detector
  • the processor 101 sets an arbitrary point in the region located relatively upper in the upper body as the point 501.
  • the processor 101 may prompt the user to confirm via the display unit 104 after autonomously detecting the point 501.
  • the processor 101 may accept the addition and correction of the point 501 by accepting the input of the point 501 via the input unit 103 after prompting the user for confirmation.
  • the processor 101 subsequently estimates the posture of the estimation target player using the reference posture information (step S330).
  • the reference posture information is reference posture information 411 to reference posture information 415 obtained by the processor 101 in step S310.
  • the estimation target player is the estimation target player 500 specified in step S320.
  • the posture of the estimation target player in the team is estimated for each team using the input reference posture information (for the sake of simplicity, the posture of only one team is used in the present embodiment).
  • the processing performed by the processor 101 is the same except for the specific player and the estimation target player even if the number of teams increases.
  • Step S330 will be described in detail with reference to FIG.
  • FIG. 6 is a flowchart for explaining processing for estimating the posture of the estimation target player using the reference posture information in the first embodiment.
  • the processor 101 starts processing to estimate the posture of the estimation target player using the reference posture information as the processing proceeds to step S330 (step S600).
  • the processor 101 assigns a joint label to the estimation target player using the reference posture information (step S610).
  • the processor 101 can behave as a joint label discriminator as described above.
  • the processor 101 receives one point in the image and reference posture information as input, the processor 101 outputs which part of the joint of the human body is located around that point.
  • the processor 101 defines a patch for any one point of the estimation target player 500, and (A) the distance from the head to the center of the patch (B) Feature amount calculated based on two points in patch, (C) Angle of RGB color vector as information on color between one point in patch and reference posture information 411 to reference posture information 415 , Three types of feature quantities are calculated.
  • (A) The distance from the head to the center of the patch is different from the description in the learning section of the joint label discriminator, and the coordinates of the point 501 are used as the head position.
  • (C) For the angle of the RGB color vector between one point in the patch and the reference posture, the reference posture information obtained in step S310 is used instead of the reference posture of the learning data.
  • the processor 101 assigns a joint label to each point of the estimation target player based on the feature amount obtained as described above.
  • FIG. 7 is a diagram showing a concept in which joint labels are given to estimation target players using the reference posture information in the first embodiment.
  • FIG. 7 shows only the joint labels 700 attached to the representative points, not the respective points of the estimation target player, for simplification of the drawing.
  • a square label is attached to a location determined by the joint label discriminator as the head. The same applies to the chest (triangle), waist (circle), above the knee (star), and below the knee (cross).
  • the joint label may be conceptual only, and the processor 101 does not actually need to display the joint label on the display unit 104. However, when the processor 101 displays the joint label on the display unit 104, there is an advantage that the user can easily understand whether or not the posture estimation is operating normally.
  • the processor 101 calculates joint likelihood using the reference posture information for each joint label (step S620).
  • the processor 101 can behave as a joint likelihood distribution discriminator as described above.
  • the processor 101 as a joint likelihood distribution discriminator is one of the points in the image to which the joint label is attached and the likelihood that the joint label is attached when the reference posture information is received as an input. Is output.
  • the processor 101 defines a patch for any one point of the estimation target player 500, and (A) from the head to the center of the patch (B) a feature amount calculated based on two points in the patch, (C) an RGB color vector as information about the color of one point in the patch and the reference posture information 411 to reference posture information 415 The three types of feature quantities are calculated.
  • (A) The distance from the head to the center of the patch uses the coordinates of the point 501 as the head position, unlike the description in the learning section of the joint likelihood distribution classifier.
  • the reference posture information obtained in step S310 is used instead of the reference posture of the learning data.
  • the processor 101 outputs the likelihood that the joint label attached to each point of the estimation target player is correct based on the feature amount obtained as described above.
  • FIG. 8 is a diagram showing a concept of calculating joint likelihood using the reference posture information in the first embodiment.
  • the joint likelihood distribution 810 is a likelihood distribution indicating that a chest (triangular) joint label is given as a correct answer.
  • the processor 101 serving as a joint likelihood distribution discriminator calculates the likelihood that the chest joint label has been assigned to the portion to which the chest joint label is attached, thereby calculating the joint likelihood distribution 810. calculate.
  • the joint likelihood distribution 810 is expressed in gray scale. In the joint likelihood distribution 810, a portion having a high likelihood is represented by a color close to white. In the joint likelihood distribution 810, a portion having a low likelihood is indicated by hatching to facilitate understanding of the drawing, instead of being represented by a color close to black.
  • the joint likelihood distribution 820 is a likelihood distribution indicating that the hip (circle) joint label is correct.
  • a portion having a high likelihood is represented by a color close to white.
  • a portion having a low likelihood is indicated by hatching to facilitate understanding of the drawing instead of being represented by a color close to black.
  • the processor 101 calculates the joint likelihood distribution for the head (square), the above-knee (star), and the below-knee (cross).
  • the joint likelihood distribution may be conceptual only, and it is not necessary for the processor 101 to actually display the joint likelihood distribution on the display unit 104.
  • the processor 101 displays the joint likelihood distribution on the display unit 104, there is an advantage that it is easy for the user to know whether or not the posture estimation is operating normally.
  • the processor 101 After calculating the joint likelihood, the processor 101 subsequently reduces the number of joint labels to an appropriate number (step S630).
  • the purpose of the processor 101 reducing the number of joint labels to an appropriate number is to improve calculation processing, and the processor 101 does not need to perform step S630.
  • the processor 101 reduces the number of joint labels to an appropriate number by using a known clustering method such as the k-Means method for each joint label.
  • the processor 101 identifies a set of joint labels using dynamic programming (step S640).
  • Dynamic programming is a generic name for algorithms that solve optimization problems.
  • the optimization problem in this embodiment is to select the most probable (optimal) combination from each joint label.
  • FIG. 9 is a diagram for explaining the concept of specifying a joint label set using the dynamic programming method according to the first embodiment.
  • three types of functions called costs are defined for each joint label pair.
  • the processor 101 uses dynamic programming to select a set of joint labels that maximizes the sum of the costs. As conceptually shown in FIG. 9, when an arbitrary combination is selected from each joint label, the processor 101 calculates the cost of the combination (C1... Cn).
  • the processor 101 defines costs as three types: (Ca) likelihood of joint, (Cb) likelihood of joint distance, and (Cc) likelihood of joint angle.
  • the joint likelihood (Ca) is a likelihood defined for each joint label calculated in step S620.
  • a joint label candidate When an arbitrary joint label (referred to as a joint label candidate) is selected as a joint label combination candidate, the processor 101 records the likelihood of the joint label as a cost. If the number of joint labels has been reduced in step S630, the processor 101 records the total likelihood of joint labels around the joint label candidates (including the joint labels reduced in step S630) as a cost. By doing so, the possibility that the processor 101 estimates a joint label combination having a low probability as a part as a posture is reduced.
  • the likelihood of the distance between joints (Cb) is the likelihood of the distance between joint label candidates.
  • the processor 101 can obtain the likelihood of the distance between the joint label candidates by using the inter-joint distance in the learning data of the prior learning. Specifically, the processor 101 makes it possible to treat as a predetermined distribution by calculating the average and variance of the inter-joint distances in the learning data, so that the likelihood is given when the distance between the joint label candidates is given. Can be output.
  • the processor 101 adds up the likelihood of the distance between joint label candidates for each pair of joint label candidates, thereby accounting for the cost of the joint label set. By doing so, the possibility that the processor 101 estimates a combination of joint labels that are abnormally long or short as the length between the joints of the human body is reduced.
  • the likelihood of the indirect angle (Cc) is the likelihood of the joint label candidate angle.
  • the processor 101 can obtain the likelihood of the angle between the joint label candidates by using the inter-joint distance in the learning data of the prior learning. Specifically, the processor 101 makes it possible to treat as a predetermined distribution by obtaining the average and variance of the inter-joint angles in the learning data, so that the likelihood is given when the angles between the joint label candidates are given. Can be output.
  • the processor 101 adds up the likelihood of the angle between the joint label candidates for each joint label candidate pair, thereby accounting for the cost of the joint label set. By doing so, the possibility that the processor 101 estimates the combination of the joint labels bent in an abnormal direction as the angle between the joints of the human body as the posture is reduced.
  • a human body performing sports has an angle between joints different from that of a normal human body.
  • the processor 101 learns the joint angle specific to the human body performing the sport by using the learning data. Therefore, the angle is usually an abnormal angle but seems to be a normal angle for the sport.
  • a combination of various joint labels can be estimated as the posture.
  • the processor 101 records, as a cost, the sum of the joint likelihood (Ca), the joint distance likelihood (Cb), and the indirect angle likelihood (Cc) for each joint label set.
  • the joint label pair is specified.
  • the processor 101 estimates the posture of the estimation target player based on the specified set of joint labels (step S650).
  • to estimate the posture of the estimation target player is sufficient to specify at least a pair of body parts of the player as performed by the processor 101 in step S640. Therefore, recording the joint label set identified in step S640 by the processor 101 in step S650 is included in estimating the posture of the estimation target player.
  • the posture estimation process ends (steps S340 and S660).
  • the processor 101 further assigns a specific posture meaning to the joint label set based on the joint label set specified in step S640.
  • FIG. 10 is a diagram for explaining the concept of meaning the posture of the estimation target player based on the identified joint label set in the first embodiment.
  • the processor 101 learns the relationship between the indirect angle and the meaning of the posture of the player in the learning data in advance, so that when a set of joint labels is given, the meaning of the posture of the estimation target player having the joint label Can be output.
  • the joint-to-joint angle is the joint-to-joint angle in the above-described indirect angle likelihood (Cc).
  • the meaning of the posture is a classification of the posture, and the classification of the posture includes “squatting”, “standing”, “falling”, etc. as classifications that can be perceived by humans. As shown in FIG.
  • the processor 101 outputs a classification “reading” when a joint label set 1010 is given.
  • the processor 101 outputs a classification “warping”.
  • the processor 101 outputs a classification of “scrimmage line stance”.
  • the meaning of the posture is not limited to the above, and there are various meanings depending on the sports related to the sports video.
  • the meaning of the posture may include a classification “shoot” in a soccer video.
  • the processor 101 of the posture estimation apparatus 100 performs a method for estimating the posture of a player existing in a sports video.
  • the processor 101 receives reference posture information, which is information obtained based on information input by the user and is information for designating the joint position of a specific player existing in the sport video of the estimation target game. Using the information, the posture of the estimation target player who is a player other than the specific player existing in the estimation target sports video is estimated.
  • the processor 101 uses the reference posture information to obtain information on the color of the estimation target player existing in the sport video of the estimation target game and information on the color of the joint position of the specific player. Used to estimate the posture of players other than the specific player.
  • the sport is a team competition sport
  • the reference posture information is information input for at least two opposing players.
  • the attributes of the estimation target player or the team to which the specific player belongs are the posture estimation results It is possible to reduce the possibility of giving a negative bias to. Therefore, it is possible to more efficiently estimate the posture of the player existing in the sports video.
  • the sport is a sport in which a specific player and an estimation target player wear a uniform uniform for each team.
  • a specific player and an estimation target player wear similar uniforms, and thus there is a high possibility that the element of the optical difference between the specific player and the estimation target player is limited to the posture element. Become. Therefore, it is possible to more efficiently estimate the posture of the player existing in the sports video.
  • the processor 101 specifies the estimation target player based on information input from the user.
  • the processor 101 can clearly identify the estimation target player from the sports video in which a large number of objects exist. Therefore, it is possible to more efficiently estimate the posture of the player existing in the sports video.
  • information on the specific part can be used for posture estimation using the reference posture information. preferable.
  • the processor 101 may specify the estimation target player without depending on the user's input.
  • the estimation target player may be automatically specified from the sports video based on the feature amount of the sports video player.
  • the processor 101 estimates the posture of the estimation target player in the team using the reference posture information input for each team.
  • the attributes of the estimation target player or the team to which the specific player belongs are the posture estimation results
  • the possibility of giving a positive bias to can be increased. Therefore, it is possible to more efficiently estimate the posture of the player existing in the sports video.
  • the information specifying the joint position of the specific player is generated based on user input made individually for at least a plurality of joints
  • the information specifying the estimation target player is It is generated on the basis of user input made individually for locations smaller than the number of joints.
  • the number of specific players is small, and the number of estimated players is large for players other than the specific players. Therefore, in this way, a relatively large number of inputs are required for a small number of players, but posture estimation can be performed with a relatively small number of inputs for a large number of players. Therefore, the total number of inputs performed by the user is relatively small. Therefore, the posture of the player existing in the sports video can be estimated more efficiently.
  • the first embodiment has been described as an example of the technique disclosed in the present application.
  • the technology in the present disclosure is not limited to this, and can also be applied to an embodiment in which changes, replacements, additions, omissions, and the like are appropriately performed.
  • step S330 the processor 101 estimates the posture of the estimation target player using a joint label discriminator and a joint likelihood distribution discriminator as shown in FIG. Another example of the process of estimating the estimation target player's posture will be described with reference to FIG.
  • FIG. 11 is a flowchart for explaining processing for estimating the posture of the estimation target player using the reference posture information according to another embodiment.
  • the processor 101 starts processing to estimate the posture of the estimation target player using the reference posture information as the processing proceeds to step S330 (step S1100).
  • the processor 101 calculates the joint label likelihood of the estimation target player using the reference posture information (step 1110).
  • the joint label likelihood is a likelihood defined for a certain point on the image, and indicates the probability that the one point is an arbitrary joint label.
  • the processor 101 assigns a joint label to each point on the image and outputs a likelihood corresponding to the given joint label.
  • the processor 101 determines the likelihood that any one point belongs to each of the joint label candidates (head, chest, waist, head, above knee, below knee) for any one point. Output as.
  • the processor 101 can output the joint label likelihood by using the joint likelihood distribution discriminator.
  • the processor 101 calculates the joint label likelihood by giving one point in the image with each joint label candidate as a joint label and reference posture information as input to the joint distribution discriminator. be able to.
  • the processor 101 obtains a joint position candidate by referring to the calculated joint label likelihood (step S1120).
  • the joint position candidate is a pair of joint labels and likelihoods defined for any one point on the image, and among the joint label likelihoods given in step S1110, the top two joint label candidates with the highest likelihood And a pair of likelihoods corresponding to the joint labels of the top two candidates.
  • the number of joint labels is doubled as compared with Embodiment 1.
  • the processor 101 increases the number of joint labels to be applied, so as to compare with Embodiment 1.
  • a pixel to which an incorrect joint label is assigned has a probable feature amount for a plurality of joint labels.
  • the processor 101 does not limit the number of joint labels to be given to one, and therefore a pixel having a probable feature quantity for a plurality of joint labels is also a plurality of joint labels. It will be given. In this way, although the increased complexity of the process, it is possible to use joint labels have been abstracted in the first embodiment (and likelihood) to the posture estimation process.
  • step S1130 After calculating the joint position candidates, the processor 101 subsequently reduces the joint position candidates to an appropriate number (step S1130). Since the outline of step S1130 has been described in step S630, a description thereof will be omitted. In other embodiments, there are twice as many joint position candidates as the joint labels in the first embodiment. Therefore, it is desirable to reduce the number of joint position candidates to an appropriate number. In the present embodiment, the number of joint position candidates is reduced to k for each joint (head, chest, waist, head, above knee, below knee).
  • the processor 101 estimates a set of joint positions using a joint position discriminator.
  • the joint position discriminator is one of discriminators realized by the behavior of the processor 101 that has performed predetermined machine learning. Since the outline of machine learning has been described above, a description thereof will be omitted.
  • the joint position discriminator can be configured by the processor 101 learning the following feature quantity V for a large amount of correct answer data and incorrect answer data.
  • V is a feature quantity of 3 (P, x, y) ⁇ j ⁇ k dimensions.
  • the processor 101 obtains an unknown image by learning the above-described feature amount V for a large amount of correct answer data (an image in which the attitude is known) and incorrect answer data (random image).
  • V is given, the likelihood that an unknown image belongs to a specific posture can be output.
  • the processor 101 calculates V using the joint position candidates obtained in step S1110.
  • the processor 101 calculates a posture with a high likelihood using the calculated V, and estimates the posture as the posture of the estimated player.
  • an RGB vector has been described as an example of information relating to color.
  • the information regarding the color may be information regarding the color regardless of black and white or RGB. Therefore, the information regarding the color is not limited to the RGB vector.
  • an HSV (Hue Saturation Value) color space vector may be used as information about color.
  • posture estimation apparatus 100 estimates a final posture based on likelihood.
  • posture estimation apparatus 100 causes display unit 104 to display that the accuracy of estimation does not reach a predetermined level when the likelihood of the finally estimated posture is less than a predetermined value. In this way, there is an advantage that the user of the posture estimation apparatus 100 can be aware of the low accuracy of the estimation and can prompt the user to re-input the reference posture or to re-collect learning data.
  • This disclosure can be applied to a method or apparatus for estimating the posture of a player in a sports video.
  • the present invention can be applied to a computer in which application software that handles sports images is installed.
  • posture estimation apparatus 101 processor 102 storage unit 103 input unit 104 display unit 105 bus 201 patch 202 head 203, 204, 401, 402, 403, 404 point 210 learning reference posture 211, 212, 213, 214, 215 for learning Reference posture information 400 Specific player 411, 412, 413, 414, 415 Reference posture information 500 Estimation target player 501 Point 700 Joint label 810 Joint likelihood distribution 820 Joint likelihood distribution 1010, 1020, 1030 A set of joint labels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)

Abstract

 姿勢推定装置のプロセッサはスポーツ映像中に存在する選手の姿勢を推定する方法として、ユーザによって入力された情報に基づいて得られる情報であって、推定対象の試合のスポーツ映像中に存在する特定選手の関節位置を指定する情報である参照姿勢情報を受け取り、参照姿勢情報を用いて、推定対象のスポーツ映像中に存在する特定選手以外の選手である推定対象選手の姿勢を推定する。

Description

姿勢推定方法および姿勢推定装置
 本開示は、スポーツ映像中に存在する選手の姿勢推定方法および姿勢推定装置に関する。
 非特許文献1はスポーツ映像中に存在する選手の姿勢推定方法を開示する。この姿勢推定方法は基幹部位情報を用いて姿勢推定を行う。これにより、精度良く人物の姿勢を推定することができる。
橋本潔、外6名、「姿勢変動に伴う身体的特徴変化の統計的モデリングによる遮蔽に頑健な人物追跡」、VIEW2011、2011年12月、p.60-67
 本開示は、スポーツ映像中に存在する選手の姿勢を効率よく推定する姿勢推定方法および姿勢推定装置を提供する。
 本開示における姿勢推定装置のプロセッサはスポーツ映像中に存在する選手の姿勢を推定する方法として、ユーザによって入力された情報に基づいて得られる情報であって、推定対象の試合のスポーツ映像中に存在する特定選手の関節位置を指定する情報である参照姿勢情報を受け取る。そしてプロセッサは、参照姿勢情報を用いて、推定対象のスポーツ映像中に存在する特定選手以外の選手である推定対象選手の姿勢を推定する。
 本開示における姿勢推定方法および装置は、スポーツ映像中に存在する選手の姿勢を効率よく推定するのに有効である。
図1は実施の形態1における姿勢推定装置の構成を示す図である。 図2は実施の形態1における関節ラベル識別器の学習の概念を説明する図である。 図3は実施の形態1における姿勢推定処理を説明するフローチャートである。 図4は実施の形態1における特定選手の参照姿勢情報を説明する図である。 図5は実施の形態1における推定対象選手を特定する概念を示す図である。 図6は実施の形態1における参照姿勢情報を用いて推定対象選手の姿勢を推定する処理を説明するフローチャートである。 図7は実施の形態1における参照姿勢情報を用いて推定対象選手に関節ラベルを付与した概念を表す図である。 図8は実施の形態1における参照姿勢情報を用いて関節尤度を算出した概念を表す図である。 図9は実施の形態1における動的計画法を用いて関節ラベルの組を特定する概念を説明する為の図である。 図10は実施の形態1における特定された関節ラベルの組に基づいて推定対象選手の姿勢の意味づけをする概念を説明する図である。 図11は他の実施の形態における参照姿勢情報を用いて推定対象選手の姿勢を推定する処理を説明するフローチャートである。
 以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
 なお、発明者らは、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
 (実施の形態1)
 以下、図1~10を参照しながら、実施の形態1を説明する。
 [1-1.構成]
 図1は実施の形態1における姿勢推定装置の構成の一例を示す図である。
 姿勢推定装置100はプロセッサ101と、記憶部102と、入力部103と、表示部104と、バス105とを有する。
 プロセッサ101は演算を行うことで姿勢推定装置の他の構成要素を制御する。
 記憶部102は情報を一時的に、あるいは恒久的に記憶する。記憶部102は姿勢推定装置のROM(Read Only Memory)やRAM(Random Access Memory)などに相当する。姿勢推定装置100は用途やアクセススピードの必要性に応じて記憶部102を複数有していてもよい。HDD(Hard Disk Drive)やSDRAM(Synchronus Dynamic Random Access Memory)などを適用することで記憶部102を構成することができる。
 入力部103は外部からの信号を受け付ける。入力部103は姿勢推定装置100の入力装置や入力インターフェースなどに相当する。マウスやキーボードなどの入力装置、通信ポートや無線通信デバイスなどの入力インターフェースを適用することで入力部103を構成することができる。
 表示部104は外部へ情報を表示する。液晶ディスプレイなどを適用することで表示部104を構成することができる。
 バス105は姿勢推定装置100を構成する各要素を、接続する経路である。プロセッサ101にバス105を統合することでプロセッサ101の内部にバス105を構成することもできる。バス105は各要素を有線で接続してもよいし、各要素を無線で接続してもよい。
 以上に述べた姿勢推定装置100の構成は一例である。したがって以上に述べた構成に別の構成要素を追加することで姿勢推定装置100を構成してもよい。また、以上に述べた構成から構成要素の一部を必要に応じて削除することで姿勢推定装置100を構成してもよい。また、以上に述べた構成要素を互いに統合することで姿勢推定装置100を構成してもよい。また、上述の構成要素の一部で姿勢推定装置100を構成してもよい。
 [1-2.動作]
 以上に述べた姿勢推定装置100の動作を説明する。なお、姿勢推定装置100は主としてプロセッサ101が姿勢推定装置100の各要素と協業することで動作するものである。
 姿勢推定装置100は入力部103から入力されたスポーツ映像中に存在する推定対象選手の姿勢を推定する。姿勢推定装置100は以下に述べる順で選手の姿勢を推定する。
 [1-2-2.事前学習]
 姿勢推定装置100は選手の姿勢を推定する前に予め機械学習を行う。機械学習とは装置に属性付きデータを大量に入力することで、装置が所定のアルゴリズムに従って当該データから判別(識別)規則を生成することである。装置は生成した判別規則を用いることで、新規に与えられたデータがどの属性であるかを判別することができる。
 姿勢推定装置100は2種類の機械学習を行う。2種類の機械学習とは姿勢推定装置100が関節ラベル識別器として振舞うための機械学習と、姿勢推定装置100が関節尤度分布識別器として振舞うための機械学習である。この2種類の機械学習の間では判別の目的と手法とが異なる。
 [1-2-2-1.関節ラベル識別器の学習]
 図2を参照することで、姿勢推定装置100が関節ラベル識別器として振舞うための機械学習について説明を行う。関節ラベル識別器の目的は、画像中の1点と参照画像情報(後述される)を入力として受け取った際に、当該1点が人体の関節のうちのどの箇所の周辺に存在するかを出力することである。
 図2は実施の形態1における関節ラベル識別器の学習の概念を説明する図である。
 学習選手画像200はアメリカンフットボールの試合中の映像から得られた選手の画像である。姿勢推定装置100はアメリカンフットボールの試合中の映像から1枚のフレームを取得することで学習選手画像200を得ることができる。また、姿勢推定装置100はアメリカンフットボールの試合中の写真を取得することで学習選手画像200を得ることもできる。
 姿勢推定装置100はそれぞれ姿勢が異なる学習選手画像200を大量に読み込む。姿勢推定装置100は記憶部102に学習選手画像200を記録することで、学習選手画像200を読み込むことができる。
 姿勢推定装置100は読み込んだ学習選手画像200から関節ラベルの学習を行う。姿勢推定装置100は(1)学習選手画像200のうち任意の1点が人体の関節のうちどの関節の周辺に存在するか(2)学習選手画像200のうち任意の1点の特徴量はいくつか、という2つの要素を所定のアルゴリズムに適用することで、関節ラベルの学習を行う。
 姿勢推定装置100は(1)学習選手画像200のうち任意の1点が人体の関節のうちどの関節の周辺に存在するかをいう要素を取得する。学習選手画像200の各点は、自身が人体の関節のうちどの関節の周辺に存在するかという情報を持っている。本実施の形態において関節の種類は頭、胸、腰、膝上、膝下の5種類である。姿勢推定装置100は学習選手画像200の保持する当該関節の種類に関する情報を参照することで(1)学習選手画像200のうち任意の1点が人体の関節のうちどの関節の周辺に存在するかという要素を取得する。
 姿勢推定装置100はパッチという概念を用いることで(2)学習選手画像200のうち任意の1点の特徴量はいくつか、という計算を行う。パッチとは学習選手画像200のうちの任意の1点について、当該1点を中心として定義される矩形の領域である。
 図2に示されるパッチ201を参照することで特徴量の計算について説明を行う。姿勢推定装置100は、(A)頭部からパッチの中心部までの距離、(B)パッチ内の2点に基づいて計算される特徴量、(C)パッチ内の1点と参照姿勢情報とのRGB色ベクトルの角度、という3種類の特徴量を計算する。
 姿勢推定装置100のプロセッサ101は図2に示されるように頭部202からパッチ201の中心までの距離を計算することで(A)頭部からパッチの中心部までの距離を得る。頭部からパッチの中心までの距離は(x、y)の二次元座標の形式とする。なお、プロセッサ101は、学習選手画像200において予め定義されている頭部202の座標を用いることで、当該距離の計算を行う。プロセッサ101は以上のようにして得られた(A)頭部からパッチの中心部までの距離を記憶部102に記録する。
 姿勢推定装置100のプロセッサ101は図2に示されるようにパッチ201の点203、点204に基づいて特徴量を計算することで(B)パッチ内の2点に基づいて計算される特徴量を求める。点203、点204はパッチ201の中で定義されるランダムな2画素のペアである。プロセッサ101は点203、点204に基づいて3種類の特徴量を計算する。3種類の特徴量とは、(I)輝度値、(II)RGB色ベクトルの角度、(III)HOG(Histogram of Oriented Gradients)特徴量の差分値、の3種類である。
 プロセッサ101は点203、点204の(I)輝度値を計算する。学習選手画像200の画素はそれぞれ定義された輝度値を保持している。プロセッサ101は学習選手画像200を参照することで点203、点204輝度値を計算する。
 プロセッサ101は点203、点204の(II)RGB色ベクトルの角度を計算する。RGB色ベクトルとはR(Red)、G(Green)、B(Blue)を軸とする3次元空間上で定義されるベクトルである。学習選手画像200の画素はそれぞれ定義されたRGBの値を保持している。点203、点204のRGB値をR、G、B、を軸とする3次元空間上にプロットすることで2つのRGB色ベクトルを得ることができる。プロセッサ101は当該2つのRGB色ベクトルの角度を計算することで、点203、点204の(II)RGB色ベクトルの角度を計算することができる。
 プロセッサ101は点203、点204について(III)HOG特徴量の差分値を計算する。HOG特徴量とは画像内の点の近傍における輝度の勾配をヒストグラム化したものである。本実施の形態では、プロセッサ101は各点の近傍を3×3に分割することで、9つのセルを定義する。プロセッサ101は定義された9つのセルにおける輝度の勾配をヒストグラム化することで、点203、点204におけるHOG特徴量を得る。プロセッサ101は点203、点204のHOG特徴量においてヒストグラム間の減算を行うことでHOG特徴量の差分値を得る。このようにしてプロセッサ101は点203、点204について(III)HOG特徴量の差分値を計算することができる。
 プロセッサ101は以上のようにして得られた(I)輝度値、(II)RGB色ベクトルの角度、(III)HOG特徴量の差分値のそれぞれを(B)パッチ内の2点に基づいて計算される特徴量として記憶部102に記録する。
 姿勢推定装置100のプロセッサ101は(C)パッチ内の1点と参照姿勢とのRGB色ベクトルの角度を計算する。
 学習用参照姿勢210はアメリカンフットボールの試合中の映像から得られた、予め定義された選手の画像の画像である。姿勢推定装置100はアメリカンフットボールの試合中の映像から1枚のフレームを取得することで学習用参照姿勢210を得ることができる。また、姿勢推定装置100はアメリカンフットボールの試合中の写真を取得することで学習用参照姿勢210を得ることもできる。学習用参照姿勢210は学習選手画像200に対する基準(ものさし)として機能する。学習用参照姿勢210の選手は学習選手画像200の選手と類似した環境に存在する選手であることが望ましい。具体的には学習用参照姿勢210の選手は学習選手画像200の選手と同一チームであって同一の試合映像から得られた選手であることが望ましい。
 学習用参照姿勢210の各点は、自身が人体の関節のうちどの関節の周辺に存在するかという情報を持っている。本実施の形態では関節の種類は頭、胸、腰、膝上、膝下の5種類である。
 プロセッサ101は学習選手画像200のパッチ201内の点203又は点204と、学習用参照姿勢210の各関節近傍の点である学習用参照姿勢情報211~学習用参照姿勢情報215とのRGB色ベクトルの角度を計算する。RGB色ベクトルは、点203、点204のRGB色ベクトルの角度を計算する際に説明したものと同様のものである。学習用参照姿勢情報211、学習用参照姿勢情報212、学習用参照姿勢情報213、学習用参照姿勢情報214、学習用参照姿勢情報215はそれぞれ頭、胸、腰、膝上、膝下の周辺に存在する点である。プロセッサ101は学習用参照姿勢情報211~学習用参照姿勢情報215を各関節近傍内でランダムに選ぶことで学習用参照姿勢情報211~学習用参照姿勢情報215を求めることができる。プロセッサ101は以上のように求めた学習用参照姿勢情報211~学習用参照姿勢情報215を用いることで、学習選手画像200のパッチ201内の点203又は点204と、学習用参照姿勢210の各関節近傍の学習用参照姿勢情報211~学習用参照姿勢情報215とのRGB色ベクトルの角度を計算する。プロセッサ101は以上のようにして計算された(C)パッチ内の1点と参照姿勢とのRGB色ベクトルの角度を記憶部102に記録する。
 プロセッサ101は以上の処理を各学習選手画像200の各点(各パッチ)について繰り返すことで各点の特徴量を記憶部102に記録する。このようにして、(1)学習選手画像200のうち任意の1点が人体の関節のうちどの関節の周辺に存在するか、(2)学習選手画像200のうち任意の1点の特徴量はいくつか、という要素が記憶部102に記録される。この要素の対を正解データと呼ぶ。
 また、プロセッサ101は以上の処理を各学習選手画像200以外であって各学習選手画像200の周囲のグラウンドの各点についても繰り返すことで各点の特徴量を記憶部102に記録する。このようにして(1)学習選手画像200に含まれない任意の1点であって、(2)当該任意の1点の特徴量はいくつか、という要素が記憶部102に記録される。この要素の対を不正解データと呼ぶ。
 姿勢推定装置100のプロセッサ101は、このようにして記録された正解データ、不正解データを所定のアルゴリズムに適用することで、スポーツ画像上の未知の点が人体の関節のうちどの関節の周辺に存在するかを判別することができる。具体的にはプロセッサ101はスポーツ画像上の未知の点が参照画像情報との関係で所定の特徴量を有すると分かった際に、当該点が関節(頭、胸、腰、膝上、膝下)のうちのどの箇所の周辺にいるか、または関節以外(グラウンドなど)に属するのか、を判別することができる。なぜならばプロセッサ101は人体の関節のうちどの関節の周辺に存在する点が参照画像情報との関係でどのような特徴量を持つかを学習しており、更に学習選手画像200に含まれない任意の1点が参照画像情報との関係でどのような特徴量を持つかを学習したからである。このようにして判別された結果の出力を関節ラベルと呼ぶ。このようにして姿勢推定装置100のプロセッサ101は関節ラベル識別器として振舞うことができる。プロセッサ101は、関節ラベル識別器として振舞うことで、画像上の未知の点と参照画像情報が与えられた際に関節ラベルを出力することができる。
 プロセッサ101は所定のアルゴリズムとして例えば決定木を用いたアルゴリズムを採用することで、判別を行う。特に本実施の形態で述べたようにランダムに選択した要素を用いて決定木を作成するアルゴリズムはRandom-forest法と呼ばれる。また、本実施の形態で述べたように、データ判別のために正解データ、不正解データを用いて学習を行う概念は機械学習と呼ばれる。
 本実施の形態ではRandom-forest法を用いることで、関節ラベル識別器を構成した。しかし、姿勢推定装置100に適用する具体的なアルゴリズムは、Random-forest法に限られない。例えば姿勢推定装置100に適用する具体的なアルゴリズムは、機械学習に用いられる既知のアルゴリズムから選択することができる。また、姿勢推定装置100が実際に機械学習を行う必要はない。姿勢推定装置100のプロセッサ101は、他の装置が機械学習を行うことで得られた判別式を利用することで、関節ラベル識別器として振舞うことができる。
 [1-2-2-2.関節尤度分布識別器の学習]
 姿勢推定装置100が関節尤度分布識別器として振舞うための機械学習について説明を行う。関節尤度分布識別器の目的は、関節ラベルが付された画像中の1点と、参照姿勢情報を入力として受け取った際に当該関節ラベルが付されたことが正解であることの尤度を出力することである。
 プロセッサ101は関節ラベル識別器の学習で説明した特徴量を用いて機械学習を行うことで、関節尤度分布識別器として振舞う。プロセッサ101は関節ラベル識別器の学習ではRandom-forest法を用いることで機械学習を行ったが、関節尤度分布識別器の学習においてはRegression-forest法を用いることで機械学習を行う。Regression-forest法とは、Random-forest法を応用することで得られるアルゴリズムである。Regression-forest法は尤度を出力できる点がRandom-forest法と異なる。具体的にはRandom-forest法において特定の関節ラベルならば1、それ以外の部位ならば0というデータを用いて学習を行うことで、Regression-forest法を利用することができる。Regression-forest法によって機械学習を行ったプロセッサ101は関節ラベルが付された画像中の1点に対して0から1の間で尤度を出力することができる(尤度は1に近ければ、付された関節ラベルが正解として確からしいことを示す)。
 本実施の形態ではRegression-forest法を用いることで、関節尤度分布識別器を構成した。しかし、姿勢推定装置100に適用する具体的なアルゴリズムは、Regression-forest法に限られない。例えば姿勢推定装置100に適用する具体的なアルゴリズムは、機械学習に用いられる既知のアルゴリズムから選択することができる。また、姿勢推定装置100が実際に機械学習を行う必要はない。姿勢推定装置100のプロセッサ101は、他の装置が機械学習を行うことで得られた尤度出力アルゴリズムを利用することで、関節尤度分布識別器として振舞うことができる。
 [1-2-3.動作の概要]
 図3は実施の形態1における姿勢推定処理を説明するフローチャートである。図3を用いることで、関節ラベル識別器および関節尤度分布識別器として振舞うプロセッサ101を有する姿勢推定装置100が行う姿勢推定処理を説明する。
 プロセッサ101は、姿勢推定処理を開始する(ステップS300)。プロセッサ101は、特定のアプリケーションを実行することで、姿勢推定処理を開始する。プロセッサ101は姿勢推定処理を開始すると、姿勢推定用映像のうちの1フレームを表示部104に表示する。姿勢推定用映像とはアメリカンフットボールの試合中の映像である。プロセッサ101は入力部を介して姿勢推定用映像を受け取って表示部104に表示してもよいし、記憶部102に記録されている姿勢推定用映像を読み出して表示部104に表示してもよい。
 プロセッサ101は特定選手の参照姿勢情報を受け取る(ステップS310)。特定選手とはステップS300で表示されたフレーム中の選手である。特定選手は各チームにつき最低一人が特定されることが望ましいが、どちらかのチームの選手の一人のみが特定されてもよい。本実施の形態では参照姿勢情報は相対する2チームのそれぞれの選手一人ずつについて入力される。参照姿勢情報とは特定選手の関節位置を指定する情報である。参照姿勢情報を用いることで姿勢推定処理の基準(ものさし)となる参照姿勢を定義することができる。
 図4は実施の形態1における特定選手の参照姿勢情報を説明する図である。
 特定選手400はステップS300で表示部104に表示されたフレーム内に存在する選手である(図4では便宜上、フレーム内における特定選手400の周囲のみを拡大している)。プロセッサ101は入力部103を介して姿勢推定装置100のユーザから点401~点404の入力を受け付ける。ユーザは例えば入力部103としてのマウスやタッチパネルを用いることで点401~404の入力を行うことができる。特定選手400は後述する推定対象選手500と類似した環境に存在する選手であることが望ましい。具体的には特定選手400は推定対象選手500の選手と同一チームであって同一の試合映像から得られた選手であることが望ましい。
 点401~点404は姿勢推定装置100のユーザによって入力された情報である。ユーザは特定選手の身体における特定の部位の近傍として点401~点404を入力する。点401は特定選手の頭を指定するものである。点402は特定選手の腰を指定するものである。点403は特定選手の膝上を指定するものである。点404は特定選手の膝下を指定するものである。
 プロセッサ101は点401~点404が入力されると点401~点404に基づいて参照姿勢情報411~参照姿勢情報415を算出する。プロセッサ101は点401の座標を算出することで参照姿勢情報411を算出する。プロセッサ101は点401と点402の中間の座標を算出することで参照姿勢情報412を算出する。プロセッサ101は点402の座標を算出することで参照姿勢情報413を算出する。プロセッサ101は点403の座標を算出することで参照姿勢情報414を算出する。プロセッサ101は点404の座標を算出することで参照姿勢情報415を算出する。このようにして得られる参照姿勢情報411~参照姿勢情報415はそれぞれ特定選手の頭、胸、腰、膝上、膝下という関節位置を指定する情報である。以上のようにしてプロセッサ101はユーザの入力に基づいて特定選手の参照姿勢情報を得る。
 プロセッサ101は特定選手の参照姿勢情報を受け取ると、続いて推定対象選手を特定する(ステップS320)。推定対象選手とは特定対象選手以外の選手であって、ステップS300で表示されたフレーム中の選手である。
 図5は実施の形態1における推定対象選手を特定する概念を示す図である。
 推定対象選手500はステップS300で表示部104に表示されたフレーム内に存在する選手であって特定選手400以外の選手(図5では推定対象選手500の周囲のみを拡大している)である。プロセッサ101は入力部103を介して姿勢推定装置100のユーザから点501の入力を受け付ける。なお、特定選手400と推定対象選手500とは必ずしも同一のフレーム内に存在する必要はない。
 点501は姿勢推定装置100のユーザによって入力された情報である。点501は例えば姿勢推定装置100の入力部103としてのマウスやタッチパネルから入力される情報である。ユーザは推定対象選手500の頭を指定するものとして点501を入力する。プロセッサ101はユーザから入力された情報である点501を認識することで、推定対象選手をフレーム内から切り出す。プロセッサ101は推定対象選手をフレーム内から切り出す処理を、点501を所定の位置とする矩形領域をフレーム内から切り出すことで行う。プロセッサ101はフレーム内から切り出された矩形領域に対してエッジ検出等の処理を行うことで、背景画像と人物画像の領域を分ける。プロセッサ101は人物画像として分けられた領域を推定対象選手500として扱う。なお、ここで推定対象選手500と、特定選手400とが同じ画角で撮影されたフレーム内に存在すると矩形領域の切り出しを好適に行うことができる。なぜならば、そのようにするとプロセッサ101が、特定選手400の大きさに基づいて推定対象選手500の大きさを推定することができるからである。プロセッサ101は特定選手400の参照姿勢情報411~415に基づいて特定選手400の大きさを推定する。プロセッサ101が当該推定された大きさに基づいて矩形領域の長辺、短辺の長さを決定することで、適切な範囲に矩形領域を設定することができるので、矩形領域の切り出しを好適に行うことができる。
 なお、点501は姿勢推定装置100のユーザによって入力された情報に限られない。点501はプロセッサ101がフレーム内に存在する人間の頭部又は上半身の形を自律的に検出することで特定されてもよい。プロセッサ101は頭検出器又は上半身検出器として振舞うことで、フレーム内に存在する頭部の形を自律的に検出することができる。プロセッサ101は機械学習を用いて人間の頭部のパターン又は上半身のパターンを学習することで、頭検出器又は上半身検出器として振舞うことができる。プロセッサ101は頭検出器として頭部の形を検出した場合は当該頭部に含まれる任意の点を点501に設定する。プロセッサ101は上半身検出器として上半身の形を検出した場合は、当該上半身において比較的上部に存在する領域内の任意の点を点501に設定する。点501がユーザによって入力された場合は、点501がプロセッサ101によって検出される場合に比べて点501の信頼度が高いという利点がある。点501がプロセッサ101によって検出された場合は点501がユーザによって入力され場合に比べてユーザの負担が軽減されるという利点がある。また、プロセッサ101は点501を自律的に検出した後に、ユーザに対して表示部104を介して確認を促してもよい。プロセッサ101はユーザに対して確認を促した後に、入力部103を介して点501の入力を受け付けることで、点501の追加および修正を受け付けてもよい。
 プロセッサ101は推定対象選手500が特定されると、続いて参照姿勢情報を用いて推定対象選手の姿勢を推定する(ステップS330)。参照姿勢情報はステップS310でプロセッサ101が得た参照姿勢情報411~参照姿勢情報415である。推定対象選手はステップS320で特定された推定対象選手500である。なお、本実施の形態のように参照姿勢情報が相対する2チームのそれぞれの選手について入力された場合は推定対象選手と参照姿勢情報の基となった特定選手とのチームを合わせることが望ましい。よって、本実施の形態では入力された参照姿勢情報を用いて、チーム毎に当該チーム内の推定対象選手の姿勢を推定する(説明の簡略化のため本実施の形態では片方のチームのみで姿勢を推定する例を示すが、チームが増えてもプロセッサ101が行う処理は特定選手と推定対象選手以外は同様である)。
 図6を用いることでステップS330を詳細に説明する。図6は実施の形態1における参照姿勢情報を用いて推定対象選手の姿勢を推定する処理を説明するフローチャートである。
 プロセッサ101はステップS330に処理が進むことで参照姿勢情報を用いて推定対象選手の姿勢を推定する処理を開始する(ステップS600)。
 プロセッサ101は参照姿勢情報を用いて推定対象選手に関節ラベルを付与する(ステップS610)。プロセッサ101は上述したように関節ラベル識別器として振舞うことができる。関節識別器としてのプロセッサ101は画像中の1点と参照姿勢情報を入力として受け取った際に当該1点が人体の関節のうちのどの箇所の周辺に存在するかを出力する。具体的には、関節ラベル識別器の学習の項で説明したように、プロセッサ101は推定対象選手500の任意の1点についてパッチを定義し、(A)頭部からパッチの中心部までの距離、(B)パッチ内の2点に基づいて計算される特徴量、(C)パッチ内の1点と参照姿勢情報411~参照姿勢情報415との、色に関する情報としての、RGB色ベクトルの角度、という3種類の特徴量を計算する。(A)頭部からパッチの中心部までの距離は、関節ラベル識別器の学習の項の説明とは異なり、点501の座標を頭部の位置として用いる。(C)パッチ内の1点と参照姿勢とのRGB色ベクトルの角度については、学習データの参照姿勢ではなくステップS310で得た参照姿勢情報を用いる。プロセッサ101は以上のように得られた特徴量に基づいて、推定対象選手の各点について関節ラベルを付与する。
 図7は実施の形態1における参照姿勢情報を用いて推定対象選手に関節ラベルを付与した概念を表す図である。図7は、図面の簡略化の為、推定対象選手の各点ではなく代表的な点に付された関節ラベル700のみを示している。図7に示されるように、関節ラベル識別器が頭と判別した箇所には四角のラベルが付されている。その他胸(三角)、腰(丸)、膝上(星)、膝下(十字)も同様である。なお、関節ラベルはあくまで概念上のものであってよく、実際にプロセッサ101が表示部104上に関節ラベルを表示する必要はない。ただしプロセッサ101が表示部104上に関節ラベルを表示した場合には、姿勢推定が正常に動作しているか否かがユーザにとって分かりやすいという利点がある。
 プロセッサ101は推定対象選手に関節ラベルを付与すると、続いて関節ラベル毎に参照姿勢情報を用いて関節尤度を算出する(ステップS620)。プロセッサ101は上述したように関節尤度分布識別器として振舞うことができる。関節尤度分布識別器としてのプロセッサ101は関節ラベルが付された画像中の1点と、参照姿勢情報を入力として受け取った際に当該関節ラベルが付されたことが正解であることの尤度を出力する。具体的には、関節尤度分布識別器の学習の項で説明したように、プロセッサ101は推定対象選手500の任意の1点についてパッチを定義し、(A)頭部からパッチの中心部までの距離、(B)パッチ内の2点に基づいて計算される特徴量、(C)パッチ内の1点と参照姿勢情報411~参照姿勢情報415との、色に関する情報としての、RGB色ベクトルの角度、という3種類の特徴量を計算する。(A)頭部からパッチの中心部までの距離は、関節尤度分布識別器の学習の項の説明とは異なり、点501の座標を頭部の位置として用いる。(C)パッチ内の1点と参照姿勢とのRGB色ベクトルの角度については、学習データの参照姿勢ではなくステップS310で得た参照姿勢情報を用いる。プロセッサ101は以上のように得られた特徴量に基づいて推定対象選手の各点について付された関節ラベルが正解であることの尤度を出力する。
 図8は実施の形態1における参照姿勢情報を用いて関節尤度を算出した概念を表す図である。関節尤度分布810は胸(三角)の関節ラベルが付与されたことが正解であることの尤度の分布である。関節尤度分布識別器としてのプロセッサ101は、胸の関節ラベルが付された箇所について胸の関節ラベルが付与されたことが正解であることの尤度を算出することで関節尤度分布810を算出する。関節尤度分布810はグレースケールで表現されている。関節尤度分布810において尤度の高い箇所は白に近い色で表されている。関節尤度分布810において尤度の低い箇所は黒に近い色で表す代わりに、図面の理解を容易にするために、ハッチングで示されている。
 関節尤度分布820は腰(丸)の関節ラベルが付与されたことが正解であることの尤度の分布である。関節尤度分布820において尤度の高い箇所は白に近い色で表されている。関節尤度分布820において尤度の低い箇所は黒に近い色で表す代わりに、図面の理解を容易にするために、ハッチングで示されている。
 プロセッサ101は、同様に、頭(四角)、膝上(星)、膝下(十字)についても関節尤度分布を算出する。なお、関節尤度分布はあくまで概念上のものであってよく、実際にプロセッサ101が表示部104上に関節尤度分布を表示する必要はない。ただしプロセッサ101が表示部104上に関節尤度分布を表示した場合には、姿勢推定が正常に動作しているか否かがユーザにとって分かりやすいという利点がある。
 プロセッサ101は関節尤度を算出すると、続いて関節ラベルの数を適切な数に削減する(ステップS630)。プロセッサ101が関節ラベルの数を適切な数に削減する目的は計算処理の向上のためであって、プロセッサ101はステップS630を行わなくてもよい。プロセッサ101は、関節ラベル毎にk-Means法などの既知のクラスタリング手法を用いることで、関節ラベルの数を適切な数に削減する。
 プロセッサ101は動的計画法を用いて関節ラベルの組を特定する(ステップS640)。動的計画法とは最適化問題を解くアルゴリズムの一種の総称である。本実施の形態における最適化問題は各関節ラベルから最も確からしい(最適な)組み合わせを選ぶことである。
 図9は実施の形態1における動的計画法を用いて関節ラベルの組を特定する概念を説明する為の図である。本実施の形態においては各関節ラベルの対についてコストと呼ばれる関数を3種類定義する。プロセッサ101は動的計画法を用いて当該コストの総和を最大化する関節ラベルの組を選ぶ。図9に概念的に示されるように、プロセッサ101は各関節ラベルから任意の組み合わせを選ぶと当該組み合わせのコストを計算する(C1…Cn)。
 本実施の形態においてプロセッサ101はコストを(Ca)関節の尤度、(Cb)関節間距離の尤度、(Cc)関節間角度の尤度の3種類に定義する。
 関節の尤度(Ca)はステップS620で算出された関節ラベル毎に定義される尤度である。プロセッサ101は関節ラベルの組み合わせの一候補として任意の関節ラベル(関節ラベル候補と呼ぶ)を選んだ場合、当該関節ラベルの尤度をコストとして計上する。なお、プロセッサ101はステップS630において関節ラベルの数を削減していた場合は、関節ラベル候補周囲の関節ラベル(ステップS630で削減された関節ラベルを含む)の尤度の合計をコストとして計上する。このようにすることで、プロセッサ101が部位としての確からしさが低い関節ラベルの組み合わせを姿勢として推定する可能性が減少する。
 関節間距離の尤度(Cb)は関節ラベル候補間の距離の尤度である。プロセッサ101は、関節ラベル候補間の距離の尤度を事前学習の学習データにおける関節間距離を用いることで得ることができる。具体的にはプロセッサ101は、学習データにおける関節間距離の平均および分散を求めることで所定の分布として扱うことを可能とすることで、関節ラベル候補間の距離が与えられた際に尤度を出力することができる。プロセッサ101は関節ラベル候補の対毎に関節ラベル候補間の距離の尤度を加算することで、関節ラベルの組のコストを計上する。このようにすることで、プロセッサ101が人体の関節間の長さとしては異常に長いまたは短い関節ラベルの組み合わせを姿勢として推定する可能性が減少する。
 間接間角度の尤度(Cc)は関節ラベル候補の角度の尤度である。プロセッサ101は、関節ラベル候補間の角度の尤度を事前学習の学習データにおける関節間距離を用いることで得ることができる。具体的にはプロセッサ101は、学習データにおける関節間角度の平均および分散を求めることで所定の分布として扱うことを可能とすることで、関節ラベル候補間の角度が与えられた際に尤度を出力することができる。プロセッサ101は関節ラベル候補の対毎に関節ラベル候補間の角度の尤度を加算することで、関節ラベルの組のコストを計上する。このようにすることで、プロセッサ101が人体の関節間の角度としては異常な方向に曲がっている関節ラベルの組み合わせを姿勢として推定する可能性が減少する。なお、スポーツを行っている人体は関節間の角度が通常の人体と異なる場合が多い。本実施の形態でプロセッサ101は学習データを用いることでスポーツを行っている人体特有の関節間角度を学習しているので、通常としては異常な角度であるがスポーツとしては通常の角度であるような関節ラベルの組み合わせを姿勢として推定することができる。
 以上に述べたようにプロセッサ101は各関節ラベルの組について、関節の尤度(Ca)、関節間距離の尤度(Cb)、間接間角度の尤度(Cc)の総和をコストとして計上し、コストが最大の関節ラベルの組み合わせを算出することで、関節ラベルの組を特定する。
 プロセッサ101は関節ラベルの組が特定されると、特定された関節ラベルの組に基づいて推定対象選手の姿勢を推定する(ステップS650)。本開示において推定対象選手の姿勢を推定するとはステップS640においてプロセッサ101が行ったような選手の身体の部位の対を少なくとも特定することで足りる。よってステップS650においてプロセッサ101がステップS640で特定した関節ラベルの組を記憶部102に記録することは推定対象選手の姿勢を推定することに含まれる。
 プロセッサ101が推定対象選手の姿勢を推定すると、姿勢推定処理が終了する(ステップS340、ステップS660)。
 本実施の形態においてプロセッサ101が更にステップS640で特定した関節ラベルの組に基づいて当該関節ラベルの組に具体的な姿勢の意味づけをする方法を説明する。
 図10は実施の形態1における特定された関節ラベルの組に基づいて推定対象選手の姿勢の意味づけをする概念を説明する図である。プロセッサ101は事前に間接間角度と学習データの選手の姿勢の意味づけとの関係を学習することにより、関節ラベルの組が与えられた際に、当該関節ラベルを有する推定対象選手の姿勢の意味づけを出力することができる。関節間角度とは上述した間接間角度の尤度(Cc)における関節間角度である。姿勢の意味づけとは姿勢の分類のことであり、姿勢の分類とは人間に知覚できる分類としての「しゃがみ」「立ち」「倒れ」などを含む。図10に示すように、プロセッサ101は関節ラベルの組1010が与えられると「構え」という分類を出力する。プロセッサ101は関節ラベルの組1020が与えられると「反り」という分類を出力する。プロセッサ101は関節ラベルの組1030が与えられると「スクリメージラインの構え」という分類を出力する。姿勢の意味づけは上述のものに限られずスポーツ映像の関するスポーツによって様々なものがある。例えば姿勢の意味づけは、サッカー映像においては「シュート」という分類を含むことが有り得る。
 [1-3.効果等]
 以上のように、本実施の形態において、姿勢推定装置100のプロセッサ101はスポーツ映像中に存在する選手の姿勢を推定する方法を行う。プロセッサ101は、ユーザによって入力された情報に基づいて得られる情報であって、推定対象の試合のスポーツ映像中に存在する特定選手の関節位置を指定する情報である参照姿勢情報を受け取り、参照姿勢情報を用いて、推定対象のスポーツ映像中に存在する特定選手以外の選手である推定対象選手の姿勢を推定する。
 これにより、スポーツ映像中の特定選手の情報を用いて特定選手以外の推定対象選手の姿勢を推定することができる。そのため、スポーツ映像中に存在する選手の姿勢を効率よく推定することができる。
 また、本実施の形態において、プロセッサ101は、参照姿勢情報を用いて、推定対象の試合のスポーツ映像中に存在する推定対象選手の色に関する情報と、特定選手の関節位置の色に関する情報とを用いて特定選手以外の選手の姿勢を推定する。
 これにより、スポーツ映像中の特定選手の色に関する情報を頼りに特定選手以外の推定対象選手の姿勢を推定することができる。一般的にスポーツ映像においては選手がルールに則ったユニフォームを着用するため、ある選手と他の選手との色に関する情報が似通うことが多く、その他ユニフォームの形状による光の反射具合も似通うことが多い。そのため、スポーツ映像中に存在する選手の姿勢をより効率よく推定することができる。
 また、本実施の形態においてスポーツはチーム対抗スポーツであって、参照姿勢情報は少なくとも相対する2チームそれぞれの選手について入力された情報である。
 これにより、スポーツ映像がチーム対抗スポーツに関するものであっても、推定対象選手または特定選手の所属するチームの属性(チーム独自のユニフォーム形状、色、陣地の方向による光の当たり具合)が姿勢推定結果に負のバイアスを与える可能性を低減させることができる。そのため、スポーツ映像中に存在する選手の姿勢をより効率よく推定することができる。
 また、本実施の形態においてスポーツは、特定選手と推定対象選手とがチーム毎に規定のユニフォームを着用するスポーツである。これにより、特定選手と推定対象選手とが類似するユニフォームを着用する可能性が高くなるため、特定選手と推定対象選手との光学的な差の要素が姿勢の要素に限定される可能性が高くなる。そのため、スポーツ映像中に存在する選手の姿勢をより効率よく推定することができる。
 また、本実施の形態においてプロセッサ101は、推定対象選手を、ユーザから入力された情報によって特定する。
 これにより、プロセッサ101は多数の物体が存在するスポーツ映像中から推定対象の選手を明確に特定することができる。そのため、スポーツ映像中に存在する選手の姿勢をより効率よく推定することができる。
 また、本実施の形態のように、ユーザの入力が推定対象選手の特定の部位を指定するものであれば、参照姿勢情報を用いた姿勢推定に特定の部位の情報を用いることができるのでより好ましい。
 なお、プロセッサ101はユーザの入力によらずに推定対象選手を特定してもよい。たとえば、スポーツ映像の選手が有する特徴量に基づいてスポーツ映像中から自動で推定対象選手を特定してもよい。
 また、本実施の形態においてプロセッサ101は、チーム毎に入力された参照姿勢情報を用いて、該チーム内の推定対象選手の姿勢を推定する。
 これにより、スポーツ映像がチーム対抗スポーツに関するものであっても、推定対象選手または特定選手の所属するチームの属性(チーム独自のユニフォーム形状、色、陣地の方向による光の当たり具合)が姿勢推定結果に正のバイアスを与える可能性を増加させることができる。そのため、スポーツ映像中に存在する選手の姿勢をより効率よく推定することができる。
 また、本実施の形態において、特定選手の関節位置を指定する情報は、少なくとも複数箇所の関節について個別になされるユーザの入力に基づいて生成され、推定対象選手を特定する情報は、複数箇所の関節の個数よりも少ない箇所について個別になされるユーザの入力に基づいて生成される。本開示において特定選手は少数となり、推定選手は特定選手以外の選手のため多数となる。よってこのようにすると、小数の選手については比較的多数の入力が必要となるが、多数の選手については比較的少数の入力で姿勢推定を行うことができる。そのため、ユーザが行う合計の入力回数は比較的少数となる。よって、スポーツ映像中に存在する選手の姿勢をより効率よく推定することができる。
 (他の実施の形態)
 以上のように、本出願において開示する技術の例示として、実施の形態1を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態1で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
 そこで、以下、他の実施の形態を例示する。
 実施の形態1ではプロセッサ101はステップS330において、図6に示すように関節ラベル識別器および関節尤度分布識別器を用いて推定対象選手の姿勢を推定した。推定対象選手の姿勢を推定する処理の他の一例を、図11を用いて説明する。
 図11は他の実施の形態における参照姿勢情報を用いて推定対象選手の姿勢を推定する処理を説明するフローチャートである。
 プロセッサ101はステップS330に処理が進むことで参照姿勢情報を用いて推定対象選手の姿勢を推定する処理を開始する(ステップS1100)。
 プロセッサ101は参照姿勢情報を用いて推定対象選手の関節ラベル尤度を算出する(ステップ1110)。関節ラベル尤度とは、画像上のある1点について定義される尤度であり、当該1点が任意の関節ラベルであることの確からしさを示すものである。実施の形態1においては、プロセッサ101は画像上の各点について関節ラベルを付与し、付与した関節ラベルに対応する尤度を出力した。本実施の形態においては、プロセッサ101は任意の1点について、任意の1点が関節ラベルの候補(頭、胸、腰、頭、膝上、膝下)のそれぞれに属する尤度を関節ラベル尤度として出力する。プロセッサ101は、関節尤度分布識別器を用いることで関節ラベル尤度を出力することができる。本実施の形態においては、関節ラベルの候補それぞれを関節ラベルとして付した画像中の1点と、参照姿勢情報を関節分布識別器に入力として与えることで、プロセッサ101は関節ラベル尤度を算出することができる。具体的な出力の例を挙げれば、プロセッサ101は推定対象選手500の1点について(0.8(関節ラベル=頭の尤度),0.1(関節ラベル=胸の尤度),0.05(関節ラベル=腰の尤度),0.01(関節ラベル=膝上の尤度), 0.04(関節ラベル=膝下の尤度))という形式で関節ラベル尤度を算出する。
 プロセッサ101は算出した関節ラベル尤度を参照することで、関節位置候補を求める(ステップS1120)。関節位置候補とは、画像上の任意の1点について定義される関節ラベルと尤度の対であって、ステップS1110で付与された関節ラベル尤度のうち、尤度の高い関節ラベル上位2候補および当該上位2候補の関節ラベルに対応する尤度の対である。関節位置候補は同一地点に存在する2つの関節ラベルと言い換えることもできる。上記の例においては(0.8(関節ラベル=頭の尤度),0.1(関節ラベル=胸の尤度)が関節位置候補である。関節ラベル尤度に基づいて関節位置候補をこのように求めることで、本実施の形態においては実施の形態1に比べて関節ラベルの数が2倍になる。プロセッサ101は付与する関節ラベルの数を増やすことで、実施の形態1に比べて、誤った関節ラベルを付与された場合の誤推定リスクを低減することができる。実施の形態1において、誤った関節ラベルを付与される画素は、複数の関節ラベルに対して確からしい特徴量をもつ画素である。本実施の形態においてプロセッサ101は付与する関節ラベルの種類を1つに限定しないため、複数の関節ラベルに対しても確からしい特徴量をもつ画素については、複数の関節ラベルを付与することになる。このようにすると、処理の複雑さは増えるが、実施の形態1においては捨象されていた関節ラベル(および尤度)を姿勢推定処理に用いることができる。
 プロセッサ101は関節位置候補を算出すると、続いて関節位置候補を適切な数に削減する(ステップS1130)。ステップS1130の概略はステップS630で述べたので省略する。他の実施の形態においては実施の形態1の関節ラベルに比べて2倍の量の関節位置候補が存在する。よって、関節位置候補の数を適切な数に削減することが望ましい。本実施の形態においては関節位置候補の数を各関節(頭、胸、腰、頭、膝上、膝下)についてk個に削減するものとする。
 プロセッサ101は、関節位置識別器を用いて関節位置の組を推定する。関節位置識別器とは、所定の機械学習を行ったプロセッサ101が振舞うことで実現される識別器のひとつである。機械学習の概要は上述したので省略する。
 関節位置識別器を構成するために用いられる特徴量の説明を行う。関節位置識別器はプロセッサ101が大量の正解データ、不正解データについて下記の特徴量Vを学習することで構成することができる。
Figure JPOXMLDOC01-appb-M000001
 上記数式においてPは、j種類の各関節(頭、胸、腰、頭、膝上、膝下が1~jに対応する)の関節ラベルが付されたn個目(n=1~k)の関節位置候補の尤度である。x、yはj種類の各関節(頭、胸、腰、頭、膝上、膝下が1~jに対応する)の関節ラベルが付されたn個目(n=1~k)の関節位置候補のx座標、y座標である。Vは3(P、x、y)×j×k次元の特徴量である。プロセッサ101は大量の正解データ(どのような姿勢をしているかが判明している画像)、不正解データ(ランダムな画像)について上記の特徴量Vを学習することで、未知の画像について得られたVが与えられた際に、未知の画像が特定の姿勢に属する尤度を出力することができる。
 本実施の形態において、プロセッサ101はステップS1110で得られた関節位置候補を用いてVを算出する。プロセッサ101は算出したVを用いて尤度の高い姿勢を算出することで、その姿勢を推定選手の姿勢と推定する。
 実施の形態1および上記他の実施の形態では色に関する情報の一例としてRGBベクトルを説明した。色に関する情報は、白黒、RGBを問わず色に関する情報であればよい。したがって、色に関する情報は、RGBベクトルに限定されない。例えば、HSV(Hue Saturation Value)色空間ベクトルを色に関する情報として用いてもよい。
 実施の形態1および上記他の実施の形態ではスポーツの一例としてアメリカンフットボールを説明した。スポーツは、姿勢を推定する用途があるものであればよい。ただし、スポーツとしてチーム対抗スポーツに本開示を適用した場合は、上述したように一般的にスポーツ映像においては選手がルールに則ったユニフォームを着用するため、スポーツ映像中に存在する選手の姿勢をより効率よく推定することができるというメリットがある。また、スポーツとして特定選手と推定対象選手とがチーム毎に規定のユニフォームを着用するスポーツに本開示を適用した場合は、上述したように特定選手と推定対象選手との光学的な差の要素が姿勢の要素に限定される可能性が高くなるため、スポーツ映像中に存在する選手の姿勢をより効率よく推定することができる。
 実施の形態1および上記他の実施の形態では、姿勢推定装置100は尤度に基づいて最終的な姿勢を推定した。ここで、姿勢推定装置100は最終的に推定した姿勢の尤度が所定の値に満たない場合は表示部104に推定の精度が所定の水準に満たない旨を表示させる。このようにすると、姿勢推定装置100の使用者に、推定の精度の低さを自覚させ、使用者に参照姿勢の再入力や学習用データの再収集を促させることができるという利点がある。
 以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
 したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
 また、上述の実施の形態は、本開示における技術を例示するためのものであるから、請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
 本開示は、スポーツ映像中の選手の姿勢を推定する方法または装置に適用可能である。具体的にはスポーツ映像を取り扱うアプリケーションソフトをインストールしたコンピュータに適用可能である。
100  姿勢推定装置
101  プロセッサ
102  記憶部
103  入力部
104  表示部
105  バス
201  パッチ
202  頭部
203,204,401,402,403,404  点
210  学習用参照姿勢
211,212,213,214,215  学習用参照姿勢情報
400  特定選手
411,412,413,414,415  参照姿勢情報
500  推定対象選手
501  点
700  関節ラベル
810  関節尤度分布
820  関節尤度分布
1010,1020,1030  関節ラベルの組

Claims (14)

  1. プロセッサがスポーツ映像中に存在する選手の姿勢を推定する方法であって、
    前記プロセッサは、
    ユーザによって入力された情報に基づいて得られる情報であって、推定対象の試合のスポーツ映像中に存在する特定選手の関節位置を指定する情報である参照姿勢情報を受け取り、
    前記参照姿勢情報を用いて、推定対象のスポーツ映像中に存在する前記特定選手以外の選手である推定対象選手の姿勢を推定する、
    姿勢推定方法。
  2. 前記プロセッサは、
    前記参照姿勢情報と、推定対象の試合のスポーツ映像中に存在する前記推定対象選手の色に関する情報と、前記特定選手の関節位置の色に関する情報とを用いて前記推定対象選手の姿勢を推定する、
    請求項1に記載の姿勢推定方法。
  3. 前記スポーツはチーム対抗スポーツであって、
    前記参照姿勢情報は少なくとも相対する2チームそれぞれの選手について入力された情報である、
    請求項1に記載の姿勢推定方法。
  4. 前記プロセッサは、チーム毎に入力された前記参照姿勢情報を用いて、該チームの内の前記推定対象選手の姿勢を推定する、
    請求項3に記載の姿勢推定方法。
  5. 前記スポーツは前記特定選手と前記推定対象選手とがチーム毎に規定のユニフォームを着用するスポーツである、
    請求項1に記載の姿勢推定方法。
  6. 前記プロセッサは、前記推定対象選手を、ユーザから入力された情報によって特定する、
    請求項1に記載の姿勢推定方法。
  7. 前記特定選手の関節位置を指定する情報は、少なくとも複数箇所の関節について個別になされるユーザの入力に基づいて生成され、
    前記推定対象選手を特定する情報は、前記複数箇所の関節の個数よりも少ない箇所について個別になされるユーザの入力に基づいて生成される、
    請求項6に記載の姿勢推定方法。
  8. プロセッサと、
    入力部と、を備え、
    前記プロセッサは、ユーザによって前記入力部から入力された情報に基づいて得られる情報であって、推定対象のスポーツ映像中に存在する特定選手の関節位置を指定する情報である参照姿勢情報を受け取り、
    前記参照姿勢情報を用いて、推定対象のスポーツ映像中に存在する前記特定選手以外の選手である推定対象選手の姿勢を推定する、
    姿勢推定装置。
  9. 前記プロセッサは、
    前記参照姿勢情報と、推定対象のスポーツ映像中に存在する前記推定対象選手の色に関する情報と、前記特定選手の関節位置の色に関する情報とを用いて前記推定対象選手の姿勢を推定する、
    請求項8に記載の姿勢推定装置。
  10. 前記スポーツはチーム対抗スポーツであって、
    前記参照姿勢情報は少なくとも相対する2チームそれぞれの選手について入力された情報である、
    請求項8に記載の姿勢推定装置。
  11. 前記プロセッサは、チーム毎に入力された前記参照姿勢情報を用いて、同チーム内の前記推定対象選手の姿勢を推定する、
    請求項10に記載の姿勢推定装置。
  12. 前記スポーツは前記特定選手と前記推定対象選手とがチーム毎に規定のチームユニフォームを着用するスポーツである、
    請求項8に記載の姿勢推定装置。
  13. 前記プロセッサは、前記推定対象選手を、ユーザから前記入力部を介して入力された情報によって特定する、
    請求項8に記載の姿勢推定装置。
  14. 前記特定選手の関節位置を指定する情報は、少なくとも複数箇所の関節について個別に前記入力部に対してなされるユーザの入力に基づいて生成され、
    前記推定対象選手を特定する情報は、前記複数箇所の関節の個数よりも少ない箇所について個別に前記入力部に対してなされるユーザの入力に基づいて生成される、
    請求項13に記載の姿勢推定装置。
PCT/JP2015/005332 2014-10-30 2015-10-23 姿勢推定方法および姿勢推定装置 WO2016067573A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP15853912.2A EP3214604B1 (en) 2014-10-30 2015-10-23 Orientation estimation method and orientation estimation device
US15/329,031 US10121260B2 (en) 2014-10-30 2015-10-23 Orientation estimation method and orientation estimation device
JP2016556213A JP6589144B2 (ja) 2014-10-30 2015-10-23 姿勢推定方法および姿勢推定装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-221072 2014-10-30
JP2014221072 2014-10-30

Publications (1)

Publication Number Publication Date
WO2016067573A1 true WO2016067573A1 (ja) 2016-05-06

Family

ID=55856939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/005332 WO2016067573A1 (ja) 2014-10-30 2015-10-23 姿勢推定方法および姿勢推定装置

Country Status (4)

Country Link
US (1) US10121260B2 (ja)
EP (1) EP3214604B1 (ja)
JP (1) JP6589144B2 (ja)
WO (1) WO2016067573A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018048890A (ja) * 2016-09-21 2018-03-29 株式会社日立製作所 姿勢推定システム、姿勢推定装置、及び距離画像カメラ
JPWO2021002025A1 (ja) * 2019-07-04 2021-01-07

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6433149B2 (ja) * 2013-07-30 2018-12-05 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム
US10540778B2 (en) * 2017-06-30 2020-01-21 Intel Corporation System for determining anatomical feature orientation
JP7106296B2 (ja) * 2018-02-28 2022-07-26 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010041725A (ja) * 2008-08-01 2010-02-18 Sony United Kingdom Ltd イベントログ生成装置及びイベントログ生成方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3990252B2 (ja) * 2002-10-15 2007-10-10 株式会社バンダイナムコゲームス ゲームシステム、プログラム及び情報記憶媒体
US7147474B1 (en) * 2003-10-24 2006-12-12 Kronholm Jr Conrad J Motivational device for team competitions
JP5837508B2 (ja) 2010-12-09 2015-12-24 パナソニック株式会社 姿勢状態推定装置および姿勢状態推定方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010041725A (ja) * 2008-08-01 2010-02-18 Sony United Kingdom Ltd イベントログ生成装置及びイベントログ生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HIROHARU TSUTSUI ET AL.: "Estimating Corrective Posture towards Improving User's Golf Swing", ITE TECHNICAL REPORT, vol. 37, no. 54, 28 November 2013 (2013-11-28), pages 61 - 64, XP008185191, ISSN: 1342-6893 *
See also references of EP3214604A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018048890A (ja) * 2016-09-21 2018-03-29 株式会社日立製作所 姿勢推定システム、姿勢推定装置、及び距離画像カメラ
JPWO2021002025A1 (ja) * 2019-07-04 2021-01-07
WO2021002025A1 (ja) * 2019-07-04 2021-01-07 富士通株式会社 骨格認識方法、骨格認識プログラム、骨格認識システム、学習方法、学習プログラムおよび学習装置

Also Published As

Publication number Publication date
US20170228888A1 (en) 2017-08-10
JPWO2016067573A1 (ja) 2017-08-17
EP3214604B1 (en) 2020-09-16
EP3214604A1 (en) 2017-09-06
EP3214604A4 (en) 2017-10-11
JP6589144B2 (ja) 2019-10-16
US10121260B2 (en) 2018-11-06

Similar Documents

Publication Publication Date Title
JP6589144B2 (ja) 姿勢推定方法および姿勢推定装置
US10216979B2 (en) Image processing apparatus, image processing method, and storage medium to detect parts of an object
JP4830650B2 (ja) 追跡装置
JP6550094B2 (ja) 認証装置および認証方法
Karlinsky et al. The chains model for detecting parts by their context
JP5873442B2 (ja) 物体検出装置および物体検出方法
JP2020522807A (ja) セルフィーを撮影するためにユーザをガイドするためのシステム及び方法
US9269155B2 (en) Region growing method for depth map/color image
US20160104053A1 (en) Hierarchical Interlinked Multi-scale Convolutional Network for Image Parsing
US20170116473A1 (en) Image Processing Apparatus, Image Processing Method, and a Non-Transitory Recording Medium
US20230360432A1 (en) Facial authentication device, facial authentication method, and program recording medium
EP2879080B1 (en) Image processing device and method, and computer readable medium
US20200042782A1 (en) Distance image processing device, distance image processing system, distance image processing method, and non-transitory computer readable recording medium
JP2010176380A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP6575325B2 (ja) カメラ位置姿勢推定装置、カメラ位置姿勢推定方法およびカメラ位置姿勢推定プログラム
US10489640B2 (en) Determination device and determination method of persons included in imaging data
US11836944B2 (en) Information processing apparatus, information processing method, and storage medium
KR20170133262A (ko) 물체 인식 장치, 물체 인식 방법 및 프로그램
JP2021503139A (ja) 画像処理装置、画像処理方法および画像処理プログラム
Polewski et al. Detection of single standing dead trees from aerial color infrared imagery by segmentation with shape and intensity priors
US20180300573A1 (en) Information processing device, image processing system, image processing method, and program storage medium
Hu et al. Computer vision based method for severity estimation of tea leaf blight in natural scene images
JP2015094973A (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び記録媒体
US9336458B2 (en) Image processing device, method and program
JP6808783B2 (ja) 人工ニューラルネットワークを用いた画像処理

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15853912

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016556213

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015853912

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15329031

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE