JP7272470B2 - 運動認識方法、運動認識プログラムおよび情報処理装置 - Google Patents

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

Info

Publication number
JP7272470B2
JP7272470B2 JP2021572240A JP2021572240A JP7272470B2 JP 7272470 B2 JP7272470 B2 JP 7272470B2 JP 2021572240 A JP2021572240 A JP 2021572240A JP 2021572240 A JP2021572240 A JP 2021572240A JP 7272470 B2 JP7272470 B2 JP 7272470B2
Authority
JP
Japan
Prior art keywords
joint
information
unit
recognition
model
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
JP2021572240A
Other languages
English (en)
Other versions
JPWO2021149250A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2021149250A1 publication Critical patent/JPWO2021149250A1/ja
Application granted granted Critical
Publication of JP7272470B2 publication Critical patent/JP7272470B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; 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/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • G06V20/42Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • 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/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)

Description

本発明は、運動認識方法、運動認識プログラムおよび情報処理装置に関する。
体操や医療などの幅広い分野において、選手や患者などの人物の骨格情報を用いて、人物の動作を自動で認識することが行われている。例えば、体操競技における現状の採点方法は複数の審判による目視で行っているが、器具の進化やトレーニング方法の改善により、動きの複雑化をともなう技の高度化が進み、審判による技の認識が困難となる場合が現れている。この結果、審判ごとに選手の採点結果が異なるなど採点の公平性や正確性の維持に懸念が生じている。
このため、近年では、選手の3次元骨格座標(以降では、「骨格情報」と記載する場合がある)を用いた自動採点技術が利用されている。例えば、3D(Three-Dimensional)レーザセンサにより選手の3次元点群データを取得し、3次元点群データを用いて選手の骨格情報を算出する。そして、骨格情報の時系列情報から実施された「技」を自動的に認識し、審判に自動採点結果を提供することで、採点の公平性や正確性の担保を行う。
このような技の自動認識を体操競技のあん馬を例にして説明すると、予め、あん馬の器具の1つであるポメルが設置される周辺を領域ごとに分類する。例えば、ポメル1の左側を領域1、ポメル1の上を領域2、ポメル1とポメル2の間を領域3、ポメル2の上を領域4、ポメル2の右側を領域5に分類する。
そして、骨格情報から演技者の骨格を認識し、骨格認識結果から得られる左右の手首の位置がどの領域に位置するかにより、手首の支持位置を推定する。そして、時系列の骨格情報から生成される時系列の骨格認識結果と、推定された手首の支持位置とを用いて、技のルールにしたがって、技の認識や技の精度などを評価し、自動採点を実行する。
国際公開第2018/070414号
しかしながら、上記技術では、3Dレーザセンサのセンシングにノイズが含まれる場合や複数のセンシング結果を統合する際のずれなどにより、センシング結果を用いた骨格認識処理の精度が低下し、各関節の位置の推定精度を保証することが難しい。
一方で、運動を認識するうえで、現実世界に存在する物体と被写体の部位の位置関係を正確に認識することが要求されることがある。例えば、あん馬の領域Aに演技者の手首が存在するのか、あん馬の領域Bに演技者の手首が存在するのかで、最終的な運動認識結果が変わる場合などがある。つまり、動き自体は同じでも、手が領域Aを支持していると技Tと認識され、手が領域Bを支持していると技Sと認識される場合などがある。
上記技術では、骨格認識結果から得られる部位の位置をそのまま使って、物体上のどの領域に位置するかを分類していた。しかし、骨格認識結果に誤差がある場合、割り当てた領域が正しくない場合がある。例えば、あん馬において、骨格認識結果が示す手首では領域1に割り当てられたが、本来は領域2に手をついていたなどがある。このような事態が発生すると、結果として、技Sを技Tと認識するなど、運動の認識結果が誤ってしまうことがある。
そこで、本発明は、一つの側面において、被写体の特定の部位と、現実世界に存在する物体における複数領域との位置関係に対する推定精度を向上させることで、当該位置関係を用いた運動の認識精度を向上させる運動認識方法、運動認識プログラムおよび情報処理装置を提供することを目的とする。
第1の案では、運動認識方法は、コンピュータが、運動を行う被写体の特定の関節を含む複数の関節それぞれの位置情報に基づく骨格情報を、時系列で取得する処理を実行する。運動認識方法は、コンピュータが、前記時系列の骨格情報それぞれに含まれる前記複数の関節のうち第1の関節群の位置情報を用いて、前記運動で使用される物体の領域を分割した複数の領域のうち、前記特定の関節が位置する領域を推定する処理を実行する。運動認識方法は、コンピュータが、前記時系列の骨格情報それぞれに含まれる前記複数の関節のうち、前記特定の関節を含み、前記第1の関節群の一部にあたる第2の関節群の位置情報を用いて、前記特定の関節が位置する領域を推定する処理を実行する。運動認識方法は、コンピュータが、推定された前記特定の関節が位置する各推定結果に基づき、前記特定の関節が位置する領域を決定する処理を実行する。運動認識方法は、コンピュータが、前記時系列の骨格情報と、決定された前記特定の関節が位置する領域とを用いて、前記被写体の運動を認識し、認識結果を出力する処理を実行する。
一つの側面では、被写体の特定の部位と、現実世界に存在する物体における複数領域との位置関係を用いた運動の認識精度を向上させることができる。
図1は、実施例1にかかるシステムの全体構成例を示す図である。 図2は、実施例1にかかる学習装置の機能構成を示す機能ブロック図である。 図3は、距離画像を説明する図である。 図4は、骨格定義を説明する図である。 図5は、骨格データを説明する図である。 図6は、あん馬に関連する骨格情報を説明する図である。 図7は、クラス分類を説明する図である。 図8は、横向き旋回時の支持位置による関節動作の差を説明する図である。 図9は、ロシアンを演技時の支持位置による関節動作の差を説明する図である。 図10は、支持位置による足首のz値の変化を説明する図である。 図11は、全身版モデル用の学習データの生成を説明する図である。 図12は、学習データの整形を説明する図である。 図13は、全身版モデルの学習を説明する図である。 図14は、部分版モデル用の学習データの生成を説明する図である。 図15は、部分版モデルの学習を説明する図である。 図16は、実施例1にかかる認識装置の機能構成を示す機能ブロック図である。 図17は、選択情報の例を示す図である。 図18は、全身版モデルにより支持位置の推定を説明する図である。 図19は、全身版モデルによる支持位置の推定結果の一覧を示す図である。 図20は、全身版モデルを用いた認識結果の一覧を示す図である。 図21は、部分版モデルにより支持位置の推定を説明する図である。 図22は、部分版モデルによる支持位置の推定結果の一覧を示す図である。 図23は、部分版モデルを用いた認識結果の一覧を示す図である。 図24は、推定結果の選択を説明する図である。 図25は、全身版モデルによる支持位置の推定結果のうち、統合される対象の推定結果を説明する図である。 図26は、部分版モデルによる支持位置の推定結果のうち、統合対象となる推定結果を説明する図である。 図27は、支持位置の統合を説明する図である。 図28は、統合後の技の再認識結果を説明する図である。 図29は、実施例1にかかる採点装置の機能構成を示す機能ブロック図である。 図30は、実施例1にかかる学習処理の流れを示すフローチャートである。 図31は、実施例1にかかる自動採点処理の流れを示すフローチャートである。 図32は、クラス分類処理の流れを示すフローチャートである。 図33は、統合処理の流れを示すフローチャートである。 図34は、実施例2にかかる統合処理を説明する図である。 図35は、ハードウェア構成例を説明する図である。
以下に、本発明にかかる運動認識方法、運動認識プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[全体構成]
図1は、実施例1にかかるシステムの全体構成例を示す図である。図1に示すように、このシステムは、3D(Three-Dimensional)レーザセンサ5、学習装置10、認識装置50、採点装置90を有し、被写体である演技者1の3次元データを撮像し、骨格等を認識して正確な技の採点を行うシステムである。なお、本実施例では、一例として、体操競技であるあん馬を例にして、あん馬の演技を行う演技者の骨格情報を認識する例で説明する。
一般的に、体操競技における現在の採点方法は、複数の採点者によって目視で行われているが、技の高度化に伴い、採点者の目視では採点が困難な場合が増加している。近年では、3Dレーザセンサ5を使った、採点競技の自動採点システムや採点支援システムが知られている。例えば、これらのシステムにおいては、3Dレーザセンサ5により選手の3次元データである距離画像を取得し、距離画像から選手の各関節の向きや各関節の角度などである骨格を認識する。そして、採点支援システムにおいては、骨格認識の結果を3Dモデルにより表示することで、採点者が演技者の細部の状況を確認するなどにより、より正しい採点を実施することを支援する。また、自動採点システムにおいては、骨格認識の結果から、演技した技などを認識し、採点ルールに照らして採点を行う。
ここで、3Dレーザセンサ5のセンシングにノイズが含まれる場合などにより、センシング結果を用いた骨格認識処理の精度が低下し、関節位置の推定精度を保証することが難しいことがある。しかし、自動採点システムにおいて、関節位置の推定精度が低下することは、システムの信頼性の低下に繋がるので、ノイズの影響を小さくし、推定精度の低下を抑制させる取り組みが重要である。
そこで、演技者1の関節位置の推定に、AI(Artificial Intelligence)技術を導入することにより、ノイズの影響を小さくし、演技者1の関節位置と、現実世界に存在するあん馬上の各領域との位置関係に対する推定精度を向上させる。
例えば、演技者の骨格情報の時系列の変化を特徴として学習することで、演技者1の身体全体の関節位置から特定関節の位置を推定する分類モデルを用いることで、演技者1の特定関節の位置推定の推定精度や技の認識精度を向上することができる。
ところが、このような全身の関節位置から特定の関節位置を推定する分類モデルを用いた場合、学習に用いた動作や姿勢の骨格情報であれば、推定精度を高くすることができるが、未知の姿勢や動作については推定精度が低くなる可能性がある。
そこで、実施例1では、全身の関節位置を用いて学習された全身版モデルと、部分的な関節位置を用いて学習された部分版モデルとの両方を用いて、演技者1の特定の関節位置を推定することで、種々の動作についての推定精度を向上させる。
なお、全身版モデルは、全身の関節のうち、概ね全身に相当する第一の関節群に関するモデルである。以下の実施例においては、第一の関節群は、全身の骨格を構成する関節として定義された18個の関節を含む。
また、部分版モデルは、複数の関節のうち、少なくとも特定の関節を含む一部の関節群に関するモデルである。また、部分版モデルは、さらに、第一の関節群の一部に当たる第二の関節群に関するモデルである。以下の実施例においては、第二の関節群は、少なくとも両手首の関節を含む、6個の関節を含む。
認識装置50は、このような2つのモデルを用いることで、3Dレーザセンサのセンシングにノイズ混入が疑われる場合や、学習に用いられなかった動作や技などが演技された場合であっても、関節位置を正確に推定し、演技者1の演技における技の認識精度の向上させることができる。この結果、自動採点システムの信頼性の低下を抑制することができる。
[機能構成]
次に、図1に示したシステムが有する各装置の機能構成につて説明する。なお、ここでは、学習装置10、認識装置50、採点装置90のそれぞれについて説明する。
(学習装置10の構成)
図2は、実施例1にかかる学習装置10の機能構成を示す機能ブロック図である。図2に示すように、学習装置10は、通信部11、記憶部12、制御部20を有する。
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部11は、3Dレーザセンサ5により撮影された演技者1の距離画像を受信し、管理者端末などから各種データや指示を受信し、認識装置50に学習済みの各モデルを送信する。
記憶部12は、データや制御部20が実行するプログラムなどを記憶する。この記憶部12は、距離画像13、骨格定義14、骨格データ15、全身版モデル16、部分版モデル17を記憶する。なお、記憶部12は、例えばメモリやハードディスクなどにより実現される。
距離画像13は、3Dレーザセンサ5により撮像される演技者1の距離画像である。図3は、距離画像13を説明する図である。図3に示すように、距離画像13は、3Dレーザセンサ5から画素までの距離が含まれるデータであり、3Dレーザセンサ5からの距離が近いほど、濃い色で表示される。なお、距離画像13は、演技者1の演技中に随時撮像される。
骨格定義14は、骨格モデル上の各関節を特定するための定義情報である。ここで記憶される定義情報は、3Dレーザセンサによる3Dセンシングによって演技者ごとに測定してもよく、一般的な体系の骨格モデルを用いて定義してもよい。
図4は、骨格定義14を説明する図である。図4に示すように、骨格定義14は、公知の骨格モデルで特定される各関節をナンバリングした、18個(0番から17番)の定義情報を記憶する。例えば、図4に示すように、右肩関節(SHOULDER_RIGHT)には7番が付与され、左肘関節(ELBOW_LEFT)には5番が付与され、左膝関節(KNEE_LEFT)には11番が付与され、右股関節(HIP_RIGHT)には14番が付与される。ここで、実施例では、7番の右肩関節のX座標をX7、Y座標をY7、Z座標をZ7と記載する場合がある。なお、例えば、Z軸は、3Dレーザセンサ5から対象に向けた距離方向、Y軸は、Z軸に垂直な高さ方向、X軸は、水平方向をと定義することができる。
骨格データ15は、各距離画像を用いて生成される骨格に関する情報を含むデータである。具体的には、骨格データ15は、距離画像を用いて取得された、骨格定義14に定義される各関節の位置を含む。図5は、骨格データ15を説明する図である。図5に示すように、骨格データ15は、「フレーム、画像情報、骨格情報」が対応付けられる情報である。
ここで、「フレーム」は、3Dレーザセンサ5による撮像される各フレームを識別する識別子であり、「画像情報」は、関節などの位置が既知である距離画像のデータである。「骨格情報」は、骨格の3次元の位置情報であり、図4に示した18個の各関節に対応する関節位置(3次元座標)である。図5の例では、距離画像である「画像データA1」には、HEADの座標「X3,Y3,Z3」などを含む18個の関節の位置が既知であることを示す。なお、関節位置は、例えば、予め学習された学習モデルであって、距離画像から各関節位置を抽出する学習モデルなどを用いて抽出することもできる。
ここで、本実施例で対象とするあん馬の演技においては、18個の関節を用いることもできるが、あん馬の演技に特に関連する関節のみを用いることもできる。図6は、あん馬に関連する骨格情報を説明する図である。図6に示すように、あん馬の演技に大きく関連する骨格情報(関節)としては、頭、右肩、左肩、背骨、右肘、左肘、右手首、左手首、腰、右膝、左膝、右足首、左足首が挙げられる。
頭は、頭を上げるまたは下げるという動きを示す。肩は、体幹と腕の位置関係を示す。背骨は、体の曲りを示し、体操における屈伸や伸身を示す。肘は、腕の曲りや力の入り方を示す。手首は、物をつかんだ位置など示す。腰は、体のほぼ重心を示す。膝は、体幹と脚の関係を示し、開脚と閉脚の違いが特定できる。足首は、歩行状態、走行状態やあん馬回転運動の軌跡を示す。
あん馬の競技は、手でポメルを掴んだ状態で行う演技や馬背に手をついた状態で行う演技が混在し、同じような動きをしたとしても、手の位置により技や難易度が変わる。一方、ポメルは馬背上に存在することから、一連の演技の中で、手の位置だけでポメルなのか馬背なのかを自動で判定することが難しい。そこで、実施例1では、図6に示す関節の動きから、特に足首の上がり幅などを考慮して、手の位置を推定することで、関節位置の推定精度を向上させる。
全身版モデル16は、時系列の全身の骨格情報に基づき、演技者1の手首の位置を推定する学習モデルであり、後述する第1学習処理部22によって学習されるニューラルネットワークなどを用いたモデルである。つまり、全身版モデル16は、あん馬上の位置を複数のクラスに分類しておき、演技者1の全身の骨格情報の時系列の変化を特徴量として学習することで、演技者1の手首の支持位置を推定する。
また、部分版モデル17は、時系列の一部分の骨格情報に基づき、演技者1の手首の位置を推定する学習モデルであり、後述する第2学習処理部23によって学習されるニューラルネットワークなどを用いたモデルである。つまり、部分版モデル17は、あん馬上の位置を複数のクラスに分類しておき、演技者1の一部分の骨格情報の時系列の変化を特徴量として学習することで、演技者1の手首の支持位置を推定する。
図7は、クラス分類を説明する図である。図7に示すように、実施例1では、一例としてクラス0からクラス5の6クラスに領域を分割する例を説明する。具体的には、クラス1(a1)は、馬端Aとポメル1の間の馬背の領域であり、クラス2(a2)は、ポメル1上の領域である。クラス3(a3)は、ポメル1とポメル2の間の馬背の領域であり、クラス4(a4)は、ポメル2上の領域である。クラス5は、ポメル2と馬端Bの間の馬背の領域であり、クラス0(a0)は、クラス1からクラス5以外の領域である。
制御部20は、学習装置10全体を司る処理部であり、例えばプロセッサなどにより実現することができる。制御部20は、取得部21、第1学習処理部22、第2学習処理部23を有し、各モデルの学習を実行する。なお、取得部21、第1学習処理部22、第2学習処理部23は、プロセッサなどの電子回路やプロセッサなどが有するプロセスにより実現することもできる。
取得部21は、各種データを取得する処理部である。例えば、取得部21は、3Dレーザセンサ5から距離画像を取得して記憶部12に格納する。また、取得部21は、管理者端末などから、骨格データを取得して記憶部12に格納する。
第1学習処理部22および第2学習処理部23は、時系列の骨格情報を特徴量に用いて、全身版モデル16または部分版モデル17の学習を実行する。
ここで、時系列の骨格情報を特徴量として学習する理由として、支持位置による関節動作の差を説明する。図8は、横向き旋回時の支持位置による関節動作の差を説明する図であり、図9は、ロシアンを演技時の支持位置による関節動作の差を説明する図である。
図8に示すように、縦向き旋回は、正面支持、背面支持、正面支持の順で旋回する動きである。技番13に示すように、手首の支持位置が馬背位置での縦向き旋回は、背面支持でポメルを避けるために足を高く上げ、その後の正面支持では背面支持で足を上げた反動で足が下がりやすい。一方、技番14に示すように、手首の支持位置がポメルでの縦向き旋回は、背面支持でポメルの分だけ上体が高くなっているので足を高く上げる必要はなく、その後の正面支持でも背面支持とだいたい同じ高さで旋回できる。すなわち、手首の支持位置により、足首のz値の変化量が変わる。
また、図9に示すように、ロシアンは、下向き支持で旋回にあわせて向きが変わる動きである。技番104から106に示すように、手首の支持位置が馬背位置でのロシアンは、馬背に置いた手を軸にして旋回することから、足の位置が馬背よりも低い位置となる。技番110から112に示すように、手首の支持位置がポメルでのロシアンは、ポメルに置いた手を軸にして旋回することから、手首の支持位置が馬背位置でのロシアンよりも足の位置が高い位置となる。すなわち、手首の支持位置により、足首のz値の変化量が変わる。
次に、足首のz値の変化を具体的に説明する。図10は、支持位置による足首のz値の変化を説明する図である。図10には、ポメルの縦向き旋回(技番14)、ポメルのロシアン(技番110)、馬背の縦向き旋回(技番13)、馬背のロシアン(技番104)を順に演技したときの足首のz値を示している。図10に示すように、ポメルを支持位置とする場合の足首のz値の変化(振り幅)は小さく、馬背を支持位置とする場合の足首のz値の変化は大きい。つまり、z値の変化を学習することにより、支持位置の推定精度が向上すると考えることができる。
図2に戻り、第1学習処理部22は、第1生成部22aと第1学習部22bとを有し、機械学習により全身版モデル16を生成する処理部である。
第1生成部22aは、全身版モデル16の学習に利用する学習データを生成する処理部である。具体的には、第1生成部22aは、時系列の全身(18関節)の骨格情報を説明変数、手首の支持位置(クラス)を目的変数とする学習データを生成して、記憶部12に格納し、第1学習部22bに出力する。
図11は、全身版モデル16用の学習データの生成を説明する図である。図11に示すように、第1生成部22aは、骨格データ15の骨格情報を参照し、各フレームの骨格情報に両手の支持位置情報として、右手の支持位置の座標を示す「WR」と左手の支持位置の座標を示す「WL」を付与する。
例えば、第1生成部22aは、time=0のフレームの骨格情報(J0)に対して、骨格情報から右手首(関節位置=9番)の座標値(R0)と左手首(関節位置=6番)の座標値(L0)を取得する。その後、第1生成部22aは、右手首の座標値(R0)と左手首の座標値(L0)と、予め設定しておいたあん馬の各クラスに属する座標値とを比較して、右手クラス(クラス2)と左手クラス(クラス4)を設定する。
同様に、第1生成部22aは、time=1のフレームの骨格情報(J1)に対して、骨格情報から右手首の座標値(R1)と左手首の座標値(L1)を取得する。その後、第1生成部22aは、右手首の座標値(R1)と左手首の座標値(L1)と、各クラスに属する座標値とを比較して、右手クラス(クラス2)と左手クラス(クラス4)を設定する。
このようにして、第1生成部22aは、時系列で取得された各フレームの骨格情報に正解情報である右手クラスと左手クラスを付与する。なお、図11では、説明を簡略化するために、骨格情報をJ0などと記載したが、実際は、18関節それぞれにx、y、z値の座標(合計:18×3=54個)が設定されている。
第1学習部22bは、第1生成部22aにより生成された学習データを用いて、全身版モデル16の学習を実行する処理部である。具体的には、第1学習部22bは、学習データを用いた教師有学習によって全身版モデル16のパラメータを最適化する。そして、第1学習部22bは、学習済みの全身版モデル16を記憶部12に格納し、認識装置50に送信する。なお、学習を終了するタイミングは、所定数以上の学習データを用いた学習が完了した時点や復元誤差が閾値未満となった時点など、任意に設定することができる。
このような第1学習部22bは、時系列の18関節の骨格情報として例えば30フレームを1つの入力データとして全身版モデル16に入力することから、パディングなどにより学習データの整形を実行する。図12は、学習データの整形を説明する図である。図12に示すように、time=0のフレーム0からtime=tのフレームtまでのt個の骨格情報が存在するオリジナルデータから、1つずつずらして所定数ずつを学習データとして取得する場合、各学習データの数を合わせるために、先頭フレームのデータのデータをコピーするとともに、最終フレームのデータをコピーして学習データの数を増やす。
例えば、第1学習部22bは、フレーム0のデータ「骨格情報(J0),支持位置情報「WR(R0),WL(L0)」をフレーム0より前にコピーして、フレーム(-1)やフレーム(-2)などを生成する。同様に、第1学習部22bは、フレームtのデータ「骨格情報(Jt),支持位置情報「WR(Rt),WL(Lt)」をフレームtより後ろにコピーして、フレーム(t+1)やフレーム(t+2)などを生成する。なお、パディング数は、学習に利用するフレーム数(length)の半分などとする。
このようして、第1学習部22bは、学習データの整形を実行した上で、全身版モデル16の学習を実行する。図13は、全身版モデル16の学習を説明する図である。図13に示すように、第1学習部22bは、L個(例えば30個)の時系列の全身(18関節分)の骨格情報の学習データを説明変数として取得し、中間に位置する学習データの「右手クラス、左手クラス」を目的変数として取得する。そして、第1学習部22bは、L個の学習データを全身版モデル16に入力し、全身版モデル16の出力結果と目的変数「右手クラス、左手クラス」との誤差に基づく誤差逆伝搬法などにより、出力結果と目的変数とが一致するように全身版モデル16の学習を実行する。
例えば、第1学習部22bは、フレームNを中間とするフレーム(N-15)からフレーム(N-14)までの30個のフレームの骨格情報を説明変数として取得するとともに、フレームNの「右手クラス(クラス2)、左手クラス(クラス4)」を目的変数として取得する。そして、第1学習部22bは、取得した30個のフレームを1つの入力データとして全身版モデル16に入力し、全身版モデル16の出力結果として、右手クラスが各クラスに該当する確率(尤度)と左手クラスが各クラスに該当する確率(尤度)とを取得する。
その後、第1学習部22bは、右手クラスの確率のうち目的変数であるクラス2の確率が最も高くなるとともに、左手クラスの確率のうち目的変数であるクラス4の確率が最も高くなるように、全身版モデル16の学習を実行する。なお、全身版モデル16の学習とは、例えば、誤差逆伝搬法などを用いてニューラルネットワークの各種パラメータを更新することなどである。
このように、第1学習部22bは、学習データを1フレームずつずらした学習データを用いて学習することにより、18関節分の全骨格情報の変化を1つの特徴量として学習させる。例えば、第1学習部22bは、範囲を±10フレームとし、1280フレーム目のクラス分類を認識する場合、1270から1290フレーム間の「20×(18関節×3軸(x,y,z)=54)=1080」の骨格情報を入力して、全身版モデル16の学習を実行する。また、第1学習部22bは、1310フレーム目のクラス分類を認識する場合、1300から1320フレーム間の「20×(18関節×3軸(x,y,z)=54)=1080」の骨格情報を入力して、全身版モデル16の学習を実行する。
図2に戻り、第2学習処理部23は、第2生成部23aと第2学習部23bとを有し、機械学習により部分版モデル17を生成する処理部である。
第2生成部23aは、部分版モデル17の学習に利用する学習データを生成する処理部である。具体的には、第2生成部23aは、時系列の一部分の関節の骨格情報を説明変数、手首の支持位置(クラス)を目的変数とする学習データを生成して、記憶部12に格納し、第2学習部23bに出力する。
図14は、部分版モデル17用の学習データの生成を説明する図である。図14に示すように、部分版モデル17の学習には、関節番号4(SHOULDER_LEFT)、関節番号5(ELBOW_LEFT)、関節番号6(WRIST_LEFT)、関節番号7(SHOULDER_RIGHR)、関節番号8(ELBOW_RIGHR)、関節番号9(WRIST_RIGHR)の6関節の骨格情報を採用する。具体的には、図14に示すように、第2生成部23aは、骨格データ15の骨格情報から上記6関節の骨格情報を取得し、各フレームの6関節分の骨格情報に。両手の支持位置情報として右手の支持位置の座標を示す「WR」と左手の支持位置の座標を示す「WL」を付与する。
例えば、第2生成部23aは、time=0のフレームの6関節分の骨格情報(Z0)に対して、骨格情報から右手首(関節位置=9番)の座標値(R0)と左手首(関節位置=6番)の座標値(L0)を取得する。その後、第2生成部23aは、右手首の座標値(R0)と左手首の座標値(L0)と、予め設定しておいたあん馬の各クラスに属する座標値とを比較して、右手クラス(クラス2)と左手クラス(クラス4)を設定する。
このようにして、第2生成部23aは、時系列で取得された各フレームの上記6関節分の骨格情報に、正解情報である右手クラスと左手クラスを付与する。なお、図14では、説明を簡略化するために、骨格情報をZ0などと記載したが、実際は、6関節それぞれにx、y、z値の座標(合計:6×3=18個)が設定されている。
第2学習部23bは、第2生成部23aにより生成された学習データを用いて、部分版モデル17の学習を実行する処理部である。具体的には、第2学習部23bは、学習データを用いた教師有学習によって部分版モデル17のパラメータを最適化する。そして、第2学習部23bは、学習済みの部分版モデル17を記憶部12に格納し、認識装置50に送信する。なお、学習を終了するタイミングは、全身版モデル16と同様のタイミングを設定することができる。
このような第2学習部23bは、時系列の6関節の骨格情報として例えば30フレームを1つの入力データとして部分版モデル17に入力することから、第1学習部22bと同様の手法により、オリジナルデータからパディングデータを生成して、学習データの数を増やす。
そして、第2学習部23bは、学習データの整形を実行した上で、部分版モデル17の学習を実行する。図15は、部分版モデル17の学習を説明する図である。図15に示すように、第2学習部23bは、全身版モデル16の学習時と同様の数であるL個(例えば30個)の時系列の6関節分の骨格情報の学習データを説明変数として取得し、中間に位置する学習データの「右手クラス、左手クラス」を目的変数として取得する。そして、第2学習部23bは、L個の学習データを部分版モデル17に入力し、部分版モデル17の出力結果と目的変数「右手クラス、左手クラス」との誤差に基づく誤差逆伝搬法などにより、出力結果と目的変数とが一致するように部分版モデル17の学習を実行する。
例えば、第2学習部23bは、フレームNを中間とするフレーム(N-15)からフレーム(N-14)までの30個のフレームにおける6関節分の骨格情報を説明変数として取得するとともに、フレームNの「右手クラス(クラス4)、左手クラス(クラス5)」を目的変数として取得する。そして、第2学習部23bは、取得した30個のフレーム(6関節の骨格情報)を1つの入力データとして部分版モデル17に入力し、部分版モデル17の出力結果として、右手クラスが各クラスに該当する確率(尤度)と左手クラスが各クラスに該当する確率(尤度)とを取得する。
その後、第2学習部23bは、右手クラスの確率のうち目的変数であるクラス4の確率が最も高くなるとともに、左手クラスの確率のうち目的変数であるクラス5の確率が最も高くなるように、部分版モデル17の学習を実行する。このように、第2学習部23bは、全身版モデル16と同様、学習データを1フレームずつずらした学習データを用いて学習することにより、6関節分に該当する一部の骨格情報の変化を1つの特徴量として学習させる。
(認識装置50の構成)
図16は、実施例1にかかる認識装置50の機能構成を示す機能ブロック図である。図16に示すように、認識装置50は、通信部51、記憶部52、制御部60を有する。
通信部51は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部51は、3Dレーザセンサ5により撮影された演技者1の距離画像を受信し、学習装置10から各学習済みのモデルを受信し、各種認識結果を採点装置90に送信する。
記憶部52は、データや制御部60が実行するプログラムなどを記憶する。この記憶部52は、距離画像53、骨格定義54、骨格データ55、選択情報56、学習済みである全身版モデル57、学習済みである部分版モデル58を記憶する。なお、記憶部52は、例えばメモリやハードディスクなどにより実現される。
距離画像53は、3Dレーザセンサ5により撮像される演技者1の距離画像であり、例えば採点対象の演技者の演技を撮像した距離画像である。骨格定義54は、骨格モデル上の各関節を特定するための定義情報である。なお、骨格定義54は、図4と同様なので、詳細な説明は省略する。
骨格データ55は、後述するデータ生成部62によりフレームごとに生成される骨格に関する情報を含むデータである。具体的には、骨格データ55は、図5と同様、「フレーム、画像情報、骨格情報」が対応付けられる情報である。
選択情報56は、技の優先度などが定義される情報である。図17は、選択情報の例を示す図である。図17に示すように、選択情報56は、「選択レベル」、「Difficulty」、「Element」が対応付けられた情報である。ここで、「選択レベル」は、優先度を示し、「Difficulty」は、技の難易度を示し、「Element」は、技を特定する情報である。図17の例では、難易度が「D」である技「III-82」の選択レベルが「0」で、難易度が「E」である技「III-89」の選択レベルが「1」であり、技「III-82」よりも技「III-89」が優先的に選択されることを示す。
なお、選択情報56は、例えば、未学習の技や選択時の優先度を記載したリストであってよく、未学習の骨格かを判断する閾値として、学習データとの関節座標の差分値を設定してもよい。なお、関節座標の差分は、例えば腰を基準とした各関節の相対位置の差分であってもよい。
全身版モデル57は、学習装置10による機械学習により生成された、全身の骨格情報を用いて予測を実行する学習モデルである。この全身版モデル57は、時系列の全身(18関節分)の骨格情報に基づき、演技者1の手首の位置を推定する学習モデルである。
部分版モデル58は、学習装置10による機械学習により生成された、一部の骨格情報を用いて予測を実行する学習モデルである。この部分版モデル58は、時系列の6関節分の骨格情報に基づき、演技者1の手首の位置を推定する学習モデルである。
制御部60は、認識装置50全体を司る処理部であり、例えばプロセッサなどにより実現することができる。この制御部60は、取得部61、データ生成部62、第1認識部63、第2認識部64、結果統合部65を有し、手首の位置の推定や演技者1が演技した技の認識を実行する。なお、取得部61、データ生成部62、第1認識部63、第2認識部64、結果統合部65は、プロセッサなどの電子回路やプロセッサなどが有するプロセスにより実現することもできる。
取得部61は、各種データや各種指示を取得する処理部である。例えば、取得部61は、3Dレーザセンサ5による計測結果(3次元点群データ)に基づく距離画像を取得して記憶部52に格納する。また、取得部61は、学習装置10などから、各学習済みのモデルを取得して記憶部52に格納する。
データ生成部62は、各距離画像から、18個の関節の位置を含む骨格情報を生成する処理部である。例えば、データ生成部62は、距離画像から骨格情報を認識する学習済みのモデルを用いて、18個の関節位置を特定した骨格情報を生成する。そして、データ生成部62は、距離画像に対応するフレームの番号と、距離画像と、骨格情報とを対応付けた骨格データ55を記憶部52に格納する。また、学習装置10における骨格データ15における骨格情報も同様の手法により生成することができる。
第1認識部63は、第1推定部63aと第1技認識部63bを有し、全身の骨格情報から、特定の骨格情報である手首の支持位置を推定し、その結果に基づき演技者1が演技した技を認識する処理部である。
第1推定部63aは、演技者1の時系列の全身の骨格情報と、学習済みである全身版モデル57とを用いて、演技者1の手首の支持位置を推定する処理部である。具体的には、第1推定部63aは、学習時と同じフレーム数を1つの入力データとして学習済みの全身版モデル57に入力し、学習済みの全身版モデル57の出力結果に基づいて、演技者1の手首の支持位置を推定する。また、第1推定部63aは、推定結果を第1技認識部63bに出力したり、記憶部52に格納したりする。
図18は、全身版モデル57により支持位置の推定を説明する図である。図18に示すように、第1推定部63aは、データ生成部62により生成された18関節分の骨格情報をオリジナルデータとして、図12と同様の手法によりデータパディングを行って、パディングデータを生成する。そして、第1推定部63aは、先頭から30フレームを取得して、30フレームそれぞれの18関節分の関節情報を、学習済みである全身版モデル57に入力する。
その後、第1推定部63aは、全身版モデル57の出力結果から、右手クラスの確率のうち最も確率が高い「クラス2」と、左手クラスの確率のうち最も確率が高い「クラス3」とを取得する。そして、第1推定部63aは、「右手=クラス2、左手=クラス3」を演技者1の手首の支持位置と推定する。このように、第1推定部63aは、フレームを1つずつずらして入力することで、演技中の各状態の手首の支持位置を推定する。
そして、第1推定部63aは、推定結果を記憶部52に格納する。例えば、第1推定部63aは、入力した30フレームの先頭フレームまたは真ん中のフレームと、推定結果である左右の手首の支持位置とを対応付けた推定結果の一覧を記憶部52に格納する。
図19は、全身版モデル57による支持位置の推定結果の一覧を示す図である。図19に示すように、第1推定部63aは、「フレーム番号」、「右手位置」、「左手位置」を対応付けた支持位置の推定結果を生成する。ここで、「フレーム番号」は、推定に利用されたフレームを示し、「右手位置」は、推定された右手の手首が位置するクラスであり、「左手位置」は、推定された左手の手首が位置するクラスである。図19の例では、フレーム番号「767」に対して、右手位置「a5」、左手位置「a1」が推定されたことを示す。
第1技認識部63bは、第1推定部63aによる手首の推定位置などを用いて、演技者1が演技した技の仮認識を実行する処理部である。具体的には、第1技認識部63bは、国際公開第2018/070414号に公開される手法を用いて、演技者1の体躯の位置や技と技の区切りの姿勢の検出、正面支持や着地位置の特定、分節点の判断、分節点間の情報を用いた基本運動の判定などを実行し、演技者1が演技した各技を自動で仮認識して、結果統合部65に送信する。
例えば、第1技認識部63bは、各フレームの骨格情報を用いて、各関節間の向きを示すベクトルデータを算出し、身体の向きや動きを特定する特徴量を算出する。そして、第1技認識部63bは、算出した特徴量と予め定めておいた技認識のルールとを比較して技を認識する。例えば、第1技認識部63bは、各分節間の骨格情報に基づき、特徴量A、特徴量Bを算出し、特徴量Aと特徴量Bの組み合わせにより技Aと認識する。
また、第1技認識部63bは、第1推定部63aによる手首の支持位置の推定結果を用いて、支持位置が変わった場所を分節点として特定し、技の区切りを特定する。なお、第1技認識部63bは、第1推定部63aにより推定された時系列の手首の位置情報を入力として技名を出力する学習モデルなどを用いて、技認識を実行することもできる。なお、第1技認識部63bは、認識された技と、当該技の認識に使用された情報に該当するフレームの情報とを対応付けた技認識結果を、記憶部52に格納することもできる。
図20は、全身版モデル57を用いた認識結果の一覧を示す図である。図20に示すように、第1技認識部63bは、「先頭フレーム」、「最終フレーム」、「認識結果」を対応付けた認識結果の一覧を生成する。ここで、「先頭フレーム」は、技と認識されたフレーム間の先頭を示し、「最終フレーム」は、技と認識されたフレーム間の最後を示し、「認識結果」は、認識された技の情報を示す。図20の例では、「フレーム687」から「フレーム714」までの動作が技「II-1」と認識されたことを示す。なお、図20における「ローマ数字-数字」が技に該当し、それ以外は技と技の間のつなぎ動作などである。
第2認識部64は、第2推定部64aと第2技認識部64bを有し、6関節分の骨格情報から、特定の骨格情報である手首の支持位置を推定し、その結果に基づき演技者1が演技した技を認識する処理部である。
第2推定部64aは、演技者1の時系列の6関節分の骨格情報と、学習済みである部分版モデル58とを用いて、演技者1の手首の支持位置を推定する処理部である。具体的には、第2推定部64aは、学習時と同じフレーム数を1つの入力データとして学習済みの部分版モデル58に入力し、学習済みの部分版モデル58の出力結果に基づいて、演技者1の手首の支持位置を推定する。また、第2推定部64aは、推定結果を第2技認識部64bに出力したり、記憶部52に格納したりする。
図21は、部分版モデル58により支持位置の推定を説明する図である。図21に示すように、第2推定部64aは、データ生成部62により生成された18関節分の骨格情報のうち上述した6関節分の骨格情報をオリジナルデータとして取得し、図12と同様の手法によりデータパディングを行って、パディングデータを生成する。そして、第2推定部64aは、先頭から30フレームを取得して、30フレームそれぞれの6関節分の関節情報を、学習済みである部分版モデル58に入力する。
その後、第2推定部64aは、部分版モデル58の出力結果から、右手クラスの確率のうち最も確率が高い「クラス2」と、左手クラスの確率のうち最も確率が高い「クラス4」とを取得する。そして、第2推定部64aは、「右手=クラス2、左手=クラス4」を演技者1の手首の支持位置と推定する。このように、第2推定部64aは、フレームを1つずつずらして入力することで、演技中の各状態の手首の支持位置を推定する。
そして、第2推定部64aは、推定結果を記憶部52に格納する。例えば、第2推定部64aは、入力した30フレームの先頭フレームまたは真ん中のフレームと、推定結果である左右の手首の支持位置とを対応付けた推定結果の一覧を記憶部52に格納する。
図22は、部分版モデル58による支持位置の推定結果の一覧を示す図である。図22に示すように、第2推定部64aは、図19と同様、「フレーム番号」、「右手位置」、「左手位置」を対応付けた支持位置の推定結果を生成する。図22の例では、フレーム番号「767」に対して、右手位置としてクラス「a4」、左手位置としてクラス「a5」が推定されたことを示す。
第2技認識部64bは、第2推定部64aによる手首の推定位置などを用いて、演技者1が演技した技の仮認識を実行する処理部である。具体的には、第2技認識部64bは、第1技認識部63bと同様の手法を用いて、演技者1が演技した各技を自動で仮認識して、結果統合部65に送信する。
また、第2技認識部64bは、認識された技と、当該技の認識に使用された情報に該当するフレームの情報とを対応付けた技認識結果を、記憶部52に格納することもできる。図23は、部分版モデル58を用いた認識結果の一覧を示す図である。図23に示すように、第2技認識部64bは、図20と同様、「先頭フレーム」、「最終フレーム」、「認識結果」を対応付けた認識結果の一覧を生成する。図23の例では、「フレーム744」から「フレーム779」までの動作が技「III-95」と認識されたことを示す。
結果統合部65は、判定部65a、統合部65b、再認識部65cを有し、第1認識部63や第2認識部64による認識結果(仮技認識)の正当性を判定する処理部である。具体的には、結果統合部65は、各モデルの仮技認識の結果から、各動作や骨格の学習状況に応じて適切なモデルの結果を選択する。
判定部65aは、全身版モデル57の推定結果か部分版モデル58の推定結果のうち、適切な推定結果を判定する処理部である。具体的には、判定部65aは、第1認識部63により仮技認識された技の選択レベルと、第2認識部64により仮技認識された技の選択レベルとを比較し、選択レベルが高い方のモデルの推定結果を、適切な推定結果と判定して、統合部65b等に出力する。
図24は、推定結果の選択を説明する図である。図24に示すように、判定部65aは、技と認識された部分版モデル58の対象フレームに含まれる全身版モデル57のフレームを抽出する。その際に、判定部65aは、前後nフレームを広げて抽出してもよい。なお、nは任意の数である。
例えば、判定部65aは、第2認識部64による部分版モデル58の技認識結果を参照し、技と認識された「先頭フレーム(744)、最終フレーム(779)、認識結果(III-95)」を特定する。続いて、判定部65aは、第1認識部63による全身版モデル57の技認識結果を参照し、部分版モデル58で技と認識された「先頭フレーム(744)、最終フレーム(779)」に対応する認識結果として、「先頭フレーム(743)、最終フレーム(761)、認識結果(III-82)」と「先頭フレーム(761)、最終フレーム(768)、認識結果(運動B)」を特定する。
そして、判定部65aは、選択情報56を参照し、部分版モデル58により認識された技(III-95)に対応する選択レベル「2」と、全身版モデル57により認識された技(III-82)に対応する選択レベル「0」とを特定する。ここで、判定部65aは、選択レベルが高い部分版モデル58の認識結果を優先使用すると判定し、その結果を統合部65bに出力する。なお、判定部65aは、全身版モデル57の認識結果の選択レベルが高い場合は、第2認識部64の技認識結果を採用し、採点装置90に送信する。
統合部65bは、全身版モデル57による支持位置の推定結果と、部分版モデル58による支持位置の推定結果とを統合する処理部である。具体的には、統合部65bは、判定部65aにより、部分版モデル58を用いる第2認識部64の技認識結果を優先使用すると判定された場合に、支持位置の統合を実行する。すなわち、統合部65bは、全身版モデル57を用いた支持位置の推定結果のうち、優先使用される技の認識に使用されたフレーム間の支持位置の推定結果を、部分版モデル58の推定結果に置き換える。
まず、統合部65bは、全身版モデル57の推定結果から置き換え対象(統合先)となる該当部分を特定する。図25は、全身版モデル57による支持位置の推定結果のうち、統合される対象の推定結果を説明する図である。図25に示すように、統合部65bは、全身版モデル57を用いて推定された支持位置の推定結果のうち、図24で優先使用と特定された技の認識結果「III-95」に対応するフレーム744からフレーム779を特定する。
次に、統合部65bは、部分版モデル58の推定結果のうち、全身版モデル57の推定結果を更新する該当部分(置き換え対象)を特定する。図26は、部分版モデル58による支持位置の推定結果のうち、統合対象となる推定結果を説明する図である。図26に示すように、統合部65bは、第2推定部64aにより部分版モデル58を用いて推定された支持位置の推定結果のうち、図24で優先使用と特定された技の認識結果「III-95」に対応するフレーム744からフレーム779を特定する。
このとき、統合部65bは、対象のフレームとして、先頭フレームまでの連続した着手のうち最も早いフレームから、最終フレーム以降の連続した着手のうち最も遅いフレームまでを選択する。つまり、図25の例では、統合部65bは、右手について、先頭フレーム744のより前のフレーム742までが同じ推定結果「右手位置=a5」であり、最終フレーム779より後は前のフレーム742までが推定結果が異なることから、置き換え対象として「フレーム742からフレーム779」を特定する。
同様に、統合部65bは、左手について、先頭フレーム744のより前のフレーム728までが同じ推定結果「右手位置=a5」であり、最終フレーム779より後のフレーム798まで同じ推定結果「右手位置=a5」であることから、置き換え対象として「フレーム728からフレーム789」を特定する。
その後、統合部65bは、図25で特定された全身版モデル57の推定結果を、図26で特定された部分版モデル58の推定結果に置き換えて、支持位置の推定結果を統合する。図27は、支持位置の統合を説明する図である。図27に示すように、統合部65bは、全身版モデル57の推定結果のうち両手の支持位置「フレーム744からフレーム779」を、部分版モデル58の推定結果の右手の支持位置「フレーム742からフレーム779」と左手の支持位置「フレーム728からフレーム789」で置き換える。
このとき、統合部65bは、置き換える全身版モデル57の推定結果の範囲よりも、置き換え対象である部分版モデル58の推定結果の範囲の方が広いが、この範囲については部分版モデル58を優先すると判定されていることから、全身版モデル57の置き換え対象の範囲を拡張する。
つまり、図27に示すように、統合部65bは、右手の支持位置について、全身版モデル57の推定結果の「フレーム742からフレーム779」を、部分版モデル58の推定結果の「フレーム742からフレーム779」に置き換える。また、統合部65bは、左の支持位置について、全身版モデル57の推定結果の「フレーム728からフレーム789」を、部分版モデル58の推定結果の「フレーム728からフレーム789」に置き換える。
図16に戻り、再認識部65cは、統合部65bにより生成された統合結果を用いて、技の再認識を実行する処理部である。上記例で説明すると、再認識部65cは、第1推定部63aにより全身版モデル57を用いて推定された支持位置における該当フレームが図27に示すように更新された支持位置を用いて、第1技認識部63bと同様の手法により、技の認識を実行する。
つまり、再認識部65cは、新たに生成されたフレームごとの両手の支持位置の推定結果を用いて、演技全体の技認識を再度実行する。図28は、統合後の技の再認識結果を説明する図である。図28に示すように、統合前後の技認識結果を比較すると、先頭フレーム「743」から最終フレーム「761」の認識結果が「III-82」から「III-95」に変更されたことがわかる。このように、再認識部65cは、基本的には全身版モデル57の推定結果を用いて技認識を行うが、全身版モデル57の推定結果のうち信頼性が低いフレームを部分版モデル58の推定結果に置き換えて、演技者1の一連の演技に関する技認識を実行することができる。
(採点装置90の構成)
図29は、実施例1にかかる採点装置90の機能構成を示す機能ブロック図である。図29に示すように、採点装置90は、通信部91、記憶部92、制御部94を有する。通信部91は、認識装置50から技の認識結果や手首の支持位置の推定結果、演技者の骨格情報(3次元の骨格位置情報)などを受信する。
記憶部92は、データや制御部94が実行するプログラムなどを記憶する。例えば、記憶部92は、メモリやハードディスクなどにより実現される。この記憶部92は、技情報93を記憶する。技情報93は、技の名前、難易度、得点、各関節の位置、関節の角度、採点ルールなどを対応付けた情報である。また、技情報93には、採点に利用される他の様々な情報が含まれる。
制御部94は、採点装置90全体を司る処理部であり、例えばプロセッサなどにより実現することができる。この制御部94は、採点部95と出力制御部96とを有し、認識装置50から入力された情報にしたがって、演技者の採点などを行う。なお、採点部95と出力制御部96は、プロセッサなどの電子回路やプロセッサなどが有するプロセスにより実現することもできる。
採点部95は、演技者の技の採点や演技者の演技の採点を実行する処理部である。具体的には、採点部95は、認識装置50から随時送信される技の認識結果や手首の支持位置の推定結果、演技者の骨格情報などと、技情報93とを比較して、演技者1が演技した技や演技の採点を実行する。例えば、採点部95は、DスコアやEスコアを算出する。そして、採点部95は、採点結果を出力制御部96に出力する。なお、採点部95は、広く利用されている採点ルールを用いた採点を実行することもできる。
出力制御部96は、採点部95の採点結果などをディスプレイ等に表示する処理部である。例えば、出力制御部96は、認識装置50から、各3Dレーザセンサによる撮像された距離画像、3次元の骨格情報、演技者1が演技中の各画像データ、採点結果などの各種情報を取得して、所定の画面に表示する。
[学習処理の流れ]
図30は、実施例1にかかる学習処理の流れを示すフローチャートである。なお、各モデルの学習は、並行して実行することもでき、順番に実行することもできる。
図30に示すように、学習装置10の取得部21が、各骨格データ15に含まれる各骨格情報を取得し(S101)、第1学習処理部22または第2学習処理部23は、両手首の支持位置の正解情報を生成するアノテーションを実行する(S102)。
続いて、第1学習処理部22または第2学習処理部23は、一定区間のフレームに分割したり、パディングを実行したりして、各モデル用の各学習データの整形を実行する(S103)。そして、第1学習処理部22または第2学習処理部23は、学習データを訓練に使用する各モデル用の各学習用データ(訓練データ)と、評価に利用する各モデル用の評価用データとに分割する(S104)。
その後、第1学習処理部22または第2学習処理部23は、あん馬の器具座標軸毎に回転や反転、ランダムノイズの追加、支持位置の正解値の分布調整などを含む各学習データの拡張を実行する(S105)。続いて、第1学習処理部22または第2学習処理部23は、正規化や標準化などを含むスケール調整を実行する(S106)。
そして、第1学習処理部22または第2学習処理部23は、学習対象である各モデルのアルゴリズム、ネットワーク、ハイパーパラメータ等を決定し、各学習データを用いて各モデルの学習を実行する(S107)。このとき、第1学習処理部22または第2学習処理部23は、1エポックごとに、評価用データを用いて、学習中の各モデルの学習精度(評価誤差)を評価する。
その後、第1学習処理部22または第2学習処理部23は、学習回数が閾値を越えたり、評価誤差が一定値以下になるなどの所定条件を満たすと、学習を終了する(S108)。そして、第1学習処理部22または第2学習処理部23は、評価誤差が最小になったときの各モデルを選択する(S109)。
[自動採点処理]
図31は、実施例1にかかる自動採点処理の流れを示すフローチャートである。なお、ここでは、一例として、演技終了後に自動採点処理を実行する例を説明するが、演技中に実行することもできる。
図31に示すように、認識装置50は、演技が開始されると(S201:Yes)、3Dレーザセンサ5が撮像した画像を含むフレームを取得する(S202)。
続いて、認識装置50は、フレームが取得されると(S202:Yes)、フレーム数を加算し(S203)、骨格情報などを取得して、フレーム番号を対応付けて管理する(S204)。ここで、認識装置50は、演技が終了するまで(S205:No)、S201以降を繰り返す。
そして、認識装置50は、演技が終了すると(S205:Yes)、クラス分類処理を実行して、撮像された各フレームにおける両手の支持位置の推定および各モデルの推定結果を用いて仮技認識を実行する(S206)。さらに、認識装置50は、仮技認識の結果を用いて、統合処理を実行する(S207)。
その後、認識装置50は、統合結果や骨格データ55内の骨格情報などを用いて、演技者の体躯の位置や姿勢を検出し、正面支持フラグや着地フラグの設定、分節点の判断、基本運動の判定などを実行し、演技者1が演技した技の再認識を実行する(S208)。
そして、採点装置90は、再認識された技等を用いて難易度を判定し(S209)、演技実施点を評価してEスコアを算出する(S210)。その後、採点装置90は、評価結果を表示し(S211)、採点に利用した各種フラグやカウントのリセットなどを含む終了処理を実行する(S212)。
(クラス分類処理)
図32は、クラス分類処理の流れを示すフローチャートである。この処理は、図31のS206で実行される。
図32に示すように、第1認識部63および第2認識部64は、取得された骨格データ35等から、時系列の骨格情報を抽出し(S301)、学習時と同様に、パティングなどのデータ整形を実行し(S302)、スケール調整を実行する(S303)。なお、第1認識部63は、全身(18関節)の骨格情報を抽出し、第2認識部64は、上述した6関節の骨格情報を抽出する。
その後、第1認識部63は、抽出した骨格情報を学習済みの全身版モデル57に入力してクラス分類を実行する(S304)。続いて、第1認識部63は、クラス分類により、演技者1の両手の支持位置を推定し(S305)、骨格情報(フレーム)と推定した両手の支持位置とを対応付けて保存する(S306)。
一方で、第2認識部64は、抽出した骨格情報を学習済みの部分版モデル58に入力してクラス分類を実行する(S307)。続いて、第2認識部64は、クラス分類により、演技者1の両手の支持位置を推定し(S308)、骨格情報(フレーム)と推定した両手の支持位置とを対応付けて保存する(S309)。
そして、全フレームについてクラス分類が実行されるまで(S310:No)、S301以降を繰り返し、全フレームについてクラス分類が実行されると(S310:Yes)、クラス分類処理が終了する。
(統合処理)
図33は、統合処理の流れを示すフローチャートである。この処理は、図31のS207で実行される。
図33に示すように、第1認識部63は、全身版モデル57の推定結果等を用いて、技認識(仮技認識1)を実行し(S401)、第2認識部64は、部分版モデル58の推定結果等を用いて、技認識(仮技認識2)を実行する(S402)。
続いて、結果統合部65は、仮技認識1の各技の選択レベルを特定し(S403)、仮技認識2の各技の選択レベルを特定する(S404)。そして、結果統合部65は、仮技認識2の認識結果から技と当該技に対応するフレームとを特定する(S405)。続いて、結果統合部65は、仮技認識1の認識結果から、仮技認識2から特定されたフレームに対応するフレームと認識された技とを特定する(S406)。
その後、結果統合部65は、仮技認識2から特定された技の選択レベルと、仮技認識1から特定された技の選択レベルとを比較する(S407)。ここで、結果統合部65は、仮技認識1の技の選択レベルが仮技認識2の技の選択レベル以上である場合(S408:Yes)、仮技認識1の結果を選択する(S409)。
一方、結果統合部65は、仮技認識1の技の選択レベルが仮技認識2の技の選択レベルよりも小さい場合(S408:No)、部分版モデル58の推定結果(支持位置)を用いて、推定された支持位置の統合を実行する(S410)。
その後、結果統合部65は、統合後の支持位置を用いて、技の再認識を実行する(S411)。そして、結果統合部65は、仮技認識2で認識された各技について比較が終了するまで(S412:No)、S405以降を繰り返す。一方、結果統合部65は、仮技認識2で認識されたすべての技について比較が終了すると(S412:Yes)、終了した技認識の結果を採点装置90に出力する(S413)。
[効果]
上述したように、認識装置50は、あん馬を演技時の手首のように識別対象となる関節の位置情報だけでなく、頭、肩、背骨、肘、腰、膝、足首といった人の動きに関わる関節位置の時系列情報を入力としたクラス分類器を使って支持位置決定することができる。また、認識装置50は、全身版モデル57と部分版モデル58とを用いることで、全身の骨格情報から技を認識するだけでなく、技に関連する一部の骨格情報から技を認識することができるので、学習データに含まれない未知の姿勢や動作が発生した場合でも、一つのモデルを用いた技認識と比較して、高精度の技認識を実行することができる。
例えば、認識装置50は、全身の関節座標を使った全身版モデル57と支持部位付近の関節座標を使った部分版モデル58を使い、学習済の技は全身版モデル57の結果を使い、未学習の技は部分版モデル58の結果を使って技認識を実行する。この結果、未学習の技の一部が、もともと正解している技の認識を悪化させることなく、正しく認識することができる。
すなわち、自動採点システムは、使用する関節が異なる複数の学習結果のモデルを併用し、動きや姿勢の学習状況に応じて使い分けて統合することで、よりロバストな支持位置認識および技認識を実現することができる。したがって、自動採点システムでは、演技者1の骨格情報や正確な支持位置を用いて演技を認識することができ、認識精度を向上させることができる。また、認識精度の向上により、審判に正確な自動採点結果を提供することができ、採点の公平性や正確性の担保を提供することができる。
[統合処理の別例]
例えば、上述した支持位置の統合は、複数のモデルの支持位置の認識結果を混在させると、学習状況に応じて判断する対象の技の前後の技(意図しない技)まで変わる状況が発生することも考えられる。その場合、正しく認識していた前後の技が誤った技に書き換えられるリスクがあるので、その場合は変わらない方を選択する。
図34は、実施例2にかかる統合処理を説明する図である。図34に示すように、認識装置50の結果統合部65が、全身版モデル57による支持位置の推定結果を用いた技認識(仮技認識)の結果のうち、フレーム743からフレーム768の範囲が統合対象と判定したとする。このフレーム743からフレーム768では、技「III-82」が認識されており、このフレーム間よりも前では技「II-1」が認識されており、このフレーム間よりも後では技「II-13」が認識されている。
そして、図34の(a)に示すように、結果統合部65は、統合後の支持位置を用いた技認識の結果、統合対象のフレームの前後の技認識結果が、統合前後で変化がない場合は、統合後の支持位置を用いた技認識の結果を採用する。具体的には、統合対象のフレームを含むフレーム744からフレーム779までは技「III-95」と認識されたので、統合前後で技認識の結果が変更されている。また、技「III-95」よりも前は、統合前と同様に技「II-1」であり、技「III-95」よりも後は、統合前と同様に技「II-13」である。
この結果、結果統合部65は、正しく認識していた前後の技はそのままで、精度の低い統合対象部分の技が変更されたと判定し、統合後の支持位置を用いた技認識の結果を採点装置90に送信する。
一方、図34の(b)に示すように、結果統合部65は、統合後の支持位置を用いた技認識の結果、統合対象のフレームの前後の技認識結果が、統合前後で変化した場合は、統合前の全身版モデル57の支持位置を用いた技認識の結果を採用する。具体的には、統合対象のフレームを含むフレーム744からフレーム779までは技「III-95」と認識されたので、統合前後で技認識の結果が変更されている。また、技「III-95」よりも前は、統合前と同様に技「II-1」であり、技「III-95」よりも後は、統合前と異なり技「II-1」である。
この結果、結果統合部65は、正しく認識していた前後の技まで変更され、誤った技認識が実行された可能性が高いと判定し、統合前の全身版モデル57の支持位置を用いた技認識の結果を採点装置90に送信する。
このように、認識装置50は、使用する関節が異なる複数のモデルがそれぞれ得意とするところを利用することで認識精度を向上させる一方で、統合による信頼性の低下を判定した上で、最終的な技の認識を実行することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[適用例]
上記実施例では、体操競技を例にして説明したが、これに限定されるものではなく、選手が一連の技を行って審判が採点する他の競技にも適用することができる。他の競技の一例としては、フィギュアスケート、新体操、チアリーディング、水泳の飛び込み、空手の型、モーグルのエアーなどがある。また、上記実施例では、両手の手首の支持位置を推定する例を説明したが、これに限定されるものではなく、18関節のいずれかの関節位置や関節間の位置などの推定にも適用することができる。
[3Dレーザセンサ]
3Dレーザセンサ5は撮影装置の一例であり、ビデオカメラ等を用いてもよい。ビデオカメラを用いる場合、距離画像13および距離画像53はRGB画像となる。RGB画像から骨格情報を得る手段としてOpenPose等の公知の技術を用いることもできる。
[骨格情報]
また、上記実施例では、骨格情報の一例として各関節の位置を例示して説明したが、これに限定されるものではなく、各関節間の向き(ベクトル)、各関節の角度、手足の向き、顔の向きなどを採用することができる。また、部分版モデル17の学習に、6関節の骨格情報を用いる例を説明したが、関節の数や使用する関節は任意に設定変更することができ、技の難易度や出来栄え等に影響する関節を選択することが好ましい。
また、全身版モデルの学習に利用する関節の数も18関節に限らず、任意に変更することができる。同様に、部分版モデルの学習に利用する関節の数も6関節に限らず、任意に変更することができるが、全身版モデルの学習に利用された関節数よりも少ない数が好ましい。
[数値等]
上記実施例で用いた数値などがあくまで一例であり、実施例を限定するものではなく、任意に設定変更することができる。また、技名、フレームの数やクラスの数等も一例であり、任意に設定変更することができる。また、モデルには、ニューラルネットワークに限らず、様々な機械学習や深層学習を用いることができる。また、処理の流れを説明した各フローチャートも矛盾のない範囲内で順番を変更することができる。
[クラス分類]
上記実施例では、ニューラルネットワークなどの機械学習を適用した各モデルを用いて、特定関節の支持位置を推定する例を説明したが、これに限定されるものではない。例えば、推定対象である両手首の位置と残りの16個の関節位置とを対応付けた、18関節を用いたルールを定義し、その定義を用いることで、上記モデルを使用せずに、18関節の骨格情報から両手首の位置を推定することもできる。同様に、推定対象である両手首の位置と上述した6個の関節位置とを対応付けた、部分的な関節を用いた定義を用いて、両手首の位置を推定することもできる。
[支持位置の統合]
上記実施例では、各モデルの支持位置の推定結果を用いた技認識(仮技認識)の後に、統合処理を実行する例を説明したが、これに限定されるものではない。例えば、各モデルが推定した支持位置を比較して統合することもできる。一例を挙げると、全身版モデル57の支持位置を参照し、時系列の順番として、ありえない支持位置の推定がされている場合、その部分のみを部分版モデル58の推定結果に置き換えることもできる。
例えば、右手の支持位置がクラス1(a1)と連続している状態で、突然、クラス5(a5)が所定回数連続するなど、物理的な連続性として成立しない状況が発生した場合に、部分版モデル58の推定結果に置き換えることもできる。なお、成立しない状況は、予めルール化して定義することもできる。
[フレーム数]
上記実施例では、時系列のフレーム数として、30などの予め設定したフレーム数を用いて、各モデルの学習や各モデルによる推定を実行したが、これに限定されるものではない。例えば、演技や技など所定の動作単位のフレーム数を用いて、各モデルの学習や各モデルによる推定を実行することができる。
[選択レベル]
例えば、連続した長い運動の途中で支持位置のクラスを間違えると、間違いの前後で部分的に技が成立することがある。その場合、一般的に連続した長い運動より難度が低い技となる。そのため、複数の学習結果を使って支持位置のクラスを認識した際に、同一区間で長い運動と短い運動が認識された場合、長い運動の方が正しい可能性が高い。このことや技の系統(例えば、回転数が1回転多いだけの同系統の技である等)を考慮して選択レベルを設定してもよい。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。また、各3Dレーザセンサは、各装置に内蔵されていてもよく、各装置の外部装置として通信等で接続されていてもよい。
例えば、技認識と組み合わせ評価は、別々の装置で実装することもできる。また、学習装置10、認識装置50、採点装置90は、任意に組み合わせた装置で実現することもできる。なお、取得部61は、取得部の一例であり、第1推定部63aは、第1推定部の一例であり、第2推定部64aは、第2推定部の一例である。判定部65aは、決定部の一例であり、再認識部65cは、認識部と出力部の一例である。
[ハードウェア]
次に、学習装置10、認識装置50、採点装置90などのコンピュータのハードウェア構成について説明する。なお、各装置は同様の構成を有するので、ここでは、コンピュータ100として説明し、具体例は認識装置50を例示する。
図35は、ハードウェア構成例を説明する図である。図35に示すように、コンピュータ100は、通信装置100a、HDD(Hard Disk Drive)100b、メモリ100c、プロセッサ100dを有する。また、図32に示した各部は、バス等で相互に接続される。なお、HDDはSSD(Solid State Drive)等の記憶装置を用いてもよい。
通信装置100aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD100bは、図16等に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ100dは、図16に示した各処理部と同様の処理を実行するプログラムをHDD100b等から読み出してメモリ100cに展開することで、図16等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、認識装置50が有する各処理部と同様の機能を実行する。具体的には、認識装置50を例にすると、プロセッサ100dは、取得部61、データ生成部62、第1認識部63、第2認識部64、結合統合部65等と同様の機能を有するプログラムをHDD100b等から読み出す。そして、プロセッサ100dは、取得部61、データ生成部62、第1認識部63、第2認識部64、結合統合部65等と同様の処理を実行するプロセスを実行する。
このようにコンピュータ100は、プログラムを読み出して実行することで認識方法を実行する情報処理装置として動作する。また、コンピュータ100は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
10 学習装置
11 通信部
12 記憶部
13 距離画像
14 骨格定義
15 骨格データ
16 全身版モデル
17 部分版モデル
20 制御部
21 取得部
22 第1学習処理部
22a 第1生成部
22b 第1学習部
23 第2学習処理部
23a 第2生成部
23b 第2学習部
50 認識装置
51 通信部
52 記憶部
53 距離画像
54 骨格定義
55 骨格データ
56 選択情報
57 全身版モデル
58 部分版モデル
60 制御部
61 取得部
62 データ生成部
63 第1認識部
63a 第1推定部
63b 第1技認識部
64 第2認識部
64a 第2推定部
64b 第2技認識部
65 結果統合部
65a 判定部
65b 統合部
65c 再認識部

Claims (10)

  1. コンピュータが、
    運動を行う被写体の特定の関節を含む複数の関節それぞれの位置情報に基づく骨格情報を、時系列で取得し、
    前記時系列の骨格情報それぞれに含まれる前記複数の関節のうち第1の関節群の位置情報を用いて、前記運動で使用される物体の領域を分割した複数の領域のうち、前記特定の関節が位置する領域を推定し、
    前記時系列の骨格情報それぞれに含まれる前記複数の関節のうち、前記特定の関節を含み、前記第1の関節群の一部にあたる第2の関節群の位置情報を用いて、前記特定の関節が位置する領域を推定し、
    推定された前記特定の関節が位置する各推定結果に基づき、前記特定の関節が位置する領域を決定し、
    前記時系列の骨格情報と、決定された前記特定の関節が位置する領域とを用いて、前記被写体の運動を認識し、
    認識結果を出力する
    処理を実行することを特徴とする運動認識方法。
  2. 前記推定する処理は、前記第1の関節群の位置情報の入力に対して前記複数の領域を示す各クラスに該当する尤度を出力する第1モデルを用いて、前記特定の関節が位置する領域を推定し、
    前記推定する処理は、前記第2の関節群の位置情報の入力に対して前記各クラスに該当する尤度を出力する第2モデルを用いて、前記特定の関節が位置する領域を推定することを特徴とする請求項1に記載の運動認識方法。
  3. 前記決定する処理は、前記第1モデルの推定結果を用いて前記被写体の第1の運動を認識し、前記第2モデルの推定結果を用いて前記被写体の第2の運動を認識し、前記第1の運動と前記第2の運動とが一致しない場合に、前記第2モデルの推定結果を、前記特定の関節が位置する領域に決定することを特徴とする請求項2に記載の運動認識方法。
  4. 前記推定する処理は、前記運動が行われている間に取得された前記時系列の骨格情報を所定数ずつ前記第1モデルに入力して得られる各出力結果から、前記特定の関節が位置する領域を時系列に推定した第1の推定結果を生成し、
    前記推定する処理は、前記時系列の骨格情報を前記所定数ずつ前記第2モデルに入力して得られる各出力結果から、前記特定の関節が位置する領域を時系列に推定した第2の推定結果を生成し、
    前記決定する処理は、前記第1の推定結果を用いて、時系列の前記第1の運動を認識し、前記第2の推定結果を用いて、時系列の前記第2の運動を認識し、前記第1の推定結果のうち、前記第2の運動と一致しない前記第1の運動の認識に利用された推定結果を、当該第2の運動の認識に利用された推定結果に置き換えて前記第1の推定結果を更新し、
    前記認識する処理は、更新後の前記第1の推定結果と、前記時系列の骨格情報とを用いて、前記被写体が行った一連の運動を認識することを特徴とする請求項3に記載の運動認識方法。
  5. 前記認識する処理は、更新前の前記第1の推定結果を用いて認識された前記一連の運動と、前記更新後の前記第1の推定結果を用いて認識された前記一連の運動とを比較し、更新された推定結果の前後で認識された前記運動が一致しない場合に、前記更新前の第1の推定結果を用いて認識された前記一連の運動を採用し、
    前記出力する処理は、採用された前記一連の動きを出力することを特徴とする請求項4に記載の運動認識方法。
  6. 前記推定する処理は、時系列の前記第1の関節群の骨格情報を説明変数、前記特定の関節が位置するクラスを目的変数とする学習データを用いて学習された前記第1モデルを用いて、前記特定の関節が位置する領域を推定し、
    前記推定する処理は、時系列の前記第2の関節群の骨格情報を説明変数、前記特定の関節が位置するクラスを目的変数とする学習データを用いて学習された前記第2モデルを用いて、前記特定の関節が位置する領域を推定することを特徴とする請求項2に記載の運動認識方法。
  7. 前記運動は、体操の演技であって、
    前記被写体は、前記体操の演技者であって、
    前記物体は、前記体操に用いられる器具であって、
    前記認識する処理は、前記時系列の骨格情報と、決定された前記特定の関節の位置とを用いて、前記演技者が演技する技を認識することを特徴とする請求項1に記載の運動認識方法。
  8. 前記第1の関節群は、前記複数の関節のすべての関節を含み、
    前記第2の関節群は、前記特定の関節として左右の手首を少なくとも含む
    ことを特徴とする請求項1乃至請求項7のいずれか一項に記載の運動認識方法。
  9. コンピュータに、
    運動を行う被写体の特定の関節を含む複数の関節それぞれの位置情報に基づく骨格情報を、時系列で取得し、
    前記時系列の骨格情報それぞれに含まれる前記複数の関節のうち第1の関節群の位置情報を用いて、前記運動で使用される物体の領域を分割した複数の領域のうち、前記特定の関節が位置する領域を推定し、
    前記時系列の骨格情報それぞれに含まれる前記複数の関節のうち、前記特定の関節を含み、前記第1の関節群の一部にあたる第2の関節群の位置情報を用いて、前記特定の関節が位置する領域を推定し、
    推定された前記特定の関節が位置する各推定結果に基づき、前記特定の関節が位置する領域を決定し、
    前記時系列の骨格情報と、決定された前記特定の関節が位置する領域とを用いて、前記被写体の運動を認識し、
    認識結果を出力する
    処理を実行させることを特徴とする運動認識プログラム。
  10. 運動を行う被写体の特定の関節を含む複数の関節それぞれの位置情報に基づく骨格情報を、時系列で取得する取得部と、
    前記時系列の骨格情報それぞれに含まれる前記複数の関節のうち第1の関節群の位置情報を用いて、前記運動で使用される物体の領域を分割した複数の領域のうち、前記特定の関節が位置する領域を推定する第1推定部と、
    前記時系列の骨格情報それぞれに含まれる前記複数の関節のうち、前記特定の関節を含み、前記第1の関節群の一部にあたる第2の関節群の位置情報を用いて、前記特定の関節が位置する領域を推定する第2推定部と、
    推定された前記特定の関節が位置する各推定結果に基づき、前記特定の関節が位置する領域を決定する決定部と、
    前記時系列の骨格情報と、決定された前記特定の関節が位置する領域とを用いて、前記被写体の運動を認識する認識部と、
    認識結果を出力する出力部と
    を有することを特徴とする情報処理装置。
JP2021572240A 2020-01-24 2020-01-24 運動認識方法、運動認識プログラムおよび情報処理装置 Active JP7272470B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/002573 WO2021149250A1 (ja) 2020-01-24 2020-01-24 運動認識方法、運動認識プログラムおよび情報処理装置

Publications (2)

Publication Number Publication Date
JPWO2021149250A1 JPWO2021149250A1 (ja) 2021-07-29
JP7272470B2 true JP7272470B2 (ja) 2023-05-12

Family

ID=76991840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021572240A Active JP7272470B2 (ja) 2020-01-24 2020-01-24 運動認識方法、運動認識プログラムおよび情報処理装置

Country Status (5)

Country Link
US (1) US20220301352A1 (ja)
EP (1) EP4095794A4 (ja)
JP (1) JP7272470B2 (ja)
CN (1) CN114846511A (ja)
WO (1) WO2021149250A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018069981A1 (ja) 2016-10-11 2018-04-19 富士通株式会社 運動認識装置、運動認識プログラムおよび運動認識方法
WO2019116495A1 (ja) 2017-12-14 2019-06-20 富士通株式会社 技認識プログラム、技認識方法および技認識システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114514559A (zh) * 2019-10-03 2022-05-17 富士通株式会社 运动识别方法、运动识别程序及信息处理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018069981A1 (ja) 2016-10-11 2018-04-19 富士通株式会社 運動認識装置、運動認識プログラムおよび運動認識方法
WO2019116495A1 (ja) 2017-12-14 2019-06-20 富士通株式会社 技認識プログラム、技認識方法および技認識システム

Also Published As

Publication number Publication date
WO2021149250A1 (ja) 2021-07-29
EP4095794A1 (en) 2022-11-30
EP4095794A4 (en) 2023-03-01
CN114846511A (zh) 2022-08-02
JPWO2021149250A1 (ja) 2021-07-29
US20220301352A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
JP7235133B2 (ja) 運動認識方法、運動認識プログラムおよび情報処理装置
CN109863535B (zh) 运动识别装置、存储介质以及运动识别方法
JP6973388B2 (ja) 情報処理装置、情報処理方法及びプログラム
US8175326B2 (en) Automated scoring system for athletics
JP6082101B2 (ja) 身体動作採点装置、ダンス採点装置、カラオケ装置及びゲーム装置
JP7367764B2 (ja) 骨格認識方法、骨格認識プログラムおよび情報処理装置
JP6943294B2 (ja) 技認識プログラム、技認識方法および技認識システム
JP7164045B2 (ja) 骨格認識方法、骨格認識プログラムおよび骨格認識システム
WO2020084667A1 (ja) 認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置
US20220222975A1 (en) Motion recognition method, non-transitory computer-readable recording medium and information processing apparatus
US11995845B2 (en) Evaluation method, storage medium, and information processing apparatus
JP7272470B2 (ja) 運動認識方法、運動認識プログラムおよび情報処理装置
Pai et al. Home Fitness and Rehabilitation Support System Implemented by Combining Deep Images and Machine Learning Using Unity Game Engine.
JP2021099666A (ja) 学習モデルの生成方法
JP7388576B2 (ja) 骨格推定装置、骨格推定方法および体操採点支援システム
JP7283692B2 (ja) スイング解析装置
WO2022208859A1 (ja) 技認識方法、技認識装置および体操採点支援システム
Ursu et al. A literature review on virtual character assessment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230410

R150 Certificate of patent or registration of utility model

Ref document number: 7272470

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150