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

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

Info

Publication number
JP6589144B2
JP6589144B2 JP2016556213A JP2016556213A JP6589144B2 JP 6589144 B2 JP6589144 B2 JP 6589144B2 JP 2016556213 A JP2016556213 A JP 2016556213A JP 2016556213 A JP2016556213 A JP 2016556213A JP 6589144 B2 JP6589144 B2 JP 6589144B2
Authority
JP
Japan
Prior art keywords
posture
player
processor
information
joint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016556213A
Other languages
English (en)
Other versions
JPWO2016067573A1 (ja
Inventor
川口 京子
京子 川口
大気 関井
大気 関井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2016067573A1 publication Critical patent/JPWO2016067573A1/ja
Application granted granted Critical
Publication of JP6589144B2 publication Critical patent/JP6589144B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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)

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(ReadOnly Memory)やRAM(RandomAccess Memory)などに相当する。姿勢推定装置100は用途やアクセススピードの必要性に応じて記憶部102を複数有していてもよい。HDD(HardDisk Drive)やSDRAM(SynchronousDynamic 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 0006589144
上記数式において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 (16)

  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に記載の姿勢推定装置。
  15. 前記関節位置には、選手の頭、胸、腰、膝上、膝下の位置のいずれかが含まれる、
    請求項1に記載の姿勢推定方法。
  16. 前記関節位置には、選手の頭、胸、腰、膝上、膝下の位置のいずれかが含まれる、
    請求項8に記載の姿勢推定装置。
JP2016556213A 2014-10-30 2015-10-23 姿勢推定方法および姿勢推定装置 Active JP6589144B2 (ja)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JPWO2016067573A1 JPWO2016067573A1 (ja) 2017-08-17
JP6589144B2 true JP6589144B2 (ja) 2019-10-16

Family

ID=55856939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016556213A Active JP6589144B2 (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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6433149B2 (ja) * 2013-07-30 2018-12-05 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム
JP6655513B2 (ja) * 2016-09-21 2020-02-26 株式会社日立製作所 姿勢推定システム、姿勢推定装置、及び距離画像カメラ
US10540778B2 (en) * 2017-06-30 2020-01-21 Intel Corporation System for determining anatomical feature orientation
JP7106296B2 (ja) * 2018-02-28 2022-07-26 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP7164045B2 (ja) * 2019-07-04 2022-11-01 富士通株式会社 骨格認識方法、骨格認識プログラムおよび骨格認識システム

Family Cites Families (4)

* 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
GB2465538B (en) * 2008-08-01 2013-03-13 Sony Corp Method and apparatus for generating an event log
CN103221977B (zh) 2010-12-09 2015-10-14 松下电器产业株式会社 姿势状态估计装置及姿势状态估计方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6589144B2 (ja) 姿勢推定方法および姿勢推定装置
US10255492B2 (en) Image processing method providing information for identifying a function of an object, the function being identified based on a pose of a person with respect to the object
US10216979B2 (en) Image processing apparatus, image processing method, and storage medium to detect parts of an object
JP4830650B2 (ja) 追跡装置
US9530071B2 (en) Hierarchical interlinked multi-scale convolutional network for image parsing
US9020250B2 (en) Methods and systems for building a universal dress style learner
JP2020522807A (ja) セルフィーを撮影するためにユーザをガイドするためのシステム及び方法
KR101899866B1 (ko) 병변 경계의 오류 검출 장치 및 방법, 병변 경계의 오류 수정 장치 및 방법 및, 병변 경계의 오류 검사 장치
US11138419B2 (en) Distance image processing device, distance image processing system, distance image processing method, and non-transitory computer readable recording medium
US9269155B2 (en) Region growing method for depth map/color image
EP2879080B1 (en) Image processing device and method, and computer readable medium
US20120309520A1 (en) Generation of avatar reflecting player appearance
JP2010176380A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP6575325B2 (ja) カメラ位置姿勢推定装置、カメラ位置姿勢推定方法およびカメラ位置姿勢推定プログラム
KR20170133262A (ko) 물체 인식 장치, 물체 인식 방법 및 프로그램
US20130071033A1 (en) Classifier for use in generating a diffuse image
JP4964171B2 (ja) 対象領域抽出方法および装置ならびにプログラム
US20160253554A1 (en) Determination device and determination method
JP2021503139A (ja) 画像処理装置、画像処理方法および画像処理プログラム
US20190266392A1 (en) Image processing apparatus, image processing method, and storage medium
JP2015094973A (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び記録媒体
US9336458B2 (en) Image processing device, method and program
US20230298348A1 (en) Clothing standardization detection method and apparatus
US11379999B2 (en) Feature extraction method, comparison system, and storage medium
US11594009B2 (en) Object detection device, method, and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161228

A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A5211

Effective date: 20161228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180710

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20190118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190819

R151 Written notification of patent or utility model registration

Ref document number: 6589144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151