(57)【要約】【課題】一連の動きの中での所定の瞬間における姿勢を推定する。【解決手段】抽出部１４が、所定の時間間隔のフレーム毎に、一連の動作における被写体の各部位の位置が検出された複数のフレームから、一連の動作の中で、予め定めた評価対象の姿勢の前に表れる姿勢を示すフレームと、評価対象の姿勢の後に表れる姿勢を示すフレームとを抽出し、推定部１６が、抽出されたフレームの各々における被写体の各部位の位置及び角度の少なくとも一方で表される姿勢に基づいて、評価対象の姿勢を推定する。【選択図】図１
2019045967.tif 000002
【特許請求の範囲】
【請求項１】
所定の時間間隔のフレーム毎に、一連の動作における被写体の各部位の位置が検出された複数のフレームから、前記一連の動作の中で、予め定めた評価対象の姿勢の前に表れる姿勢を示すフレームと、前記評価対象の姿勢の後に表れる姿勢を示すフレームとを抽出する抽出部と、
前記抽出部により抽出されたフレームの各々における前記被写体の各部位の位置及び角度の少なくとも一方で表される姿勢に基づいて、前記評価対象の姿勢を推定する推定部と、
を含む姿勢推定装置。
【請求項２】
前記抽出部は、前記評価対象の姿勢における前記被写体の特定の部位の位置及び角度の少なくとも一方についての値が、前記一連の動作の動作方向に対してマイナスとなるフレームを、前記評価対象の姿勢の前に表れる姿勢を示すフレームとして抽出し、前記一連の動作の動作方向に対してプラスとなるフレームを、前記評価対象の姿勢の後に表れる姿勢を示すフレームとして抽出し、
前記推定部は、前記特定の部位の位置及び角度の少なくとも一方について、前記評価対象の姿勢として予め定めた値と前記マイナスとなるフレームにおける値との差と、前記評価対象の姿勢として予め定めた値と前記プラスとなるフレームにおける値との差との比率と、フレーム間の前記所定の時間間隔とに基づいて、前記評価対象の姿勢がとられたタイミングを推定する
請求項１に記載の姿勢推定装置。
【請求項３】
前記推定部は、前記比率と、前記マイナスとなるフレーム又は前記プラスとなるフレームにおける前記被写体の各部位の位置及び角度の少なくとも一方についての値とに基づいて、前記評価対象の姿勢における各部位の位置及び角度の少なくとも一方についての値を推定する請求項２に記載の姿勢推定装置。
【請求項４】
位置の値が欠落している部位が存在するフレームについて、前記位置の値が欠落している部位と所定距離以内で隣接する他の部位の位置の値に基づいて、欠落している値を補間する補間部をさらに含む請求項１〜請求項３のいずれか１項に記載の姿勢推定装置。
【請求項５】
位置の値が欠落している部位が存在するフレームについて、時系列順に前後する他のフレームにおける対応する部位の位置の値に基づいて、欠落している値を補間する補間部をさらに含む請求項１〜請求項３のいずれか１項に記載の姿勢推定装置。
【請求項６】
位置の値が欠落している部位が存在するフレームについて、対応する部位の位置の値が得られているフレームにおける前記対応する部位の位置の値に基づいて、欠落している値を補間する補間部をさらに含む請求項１〜請求項３のいずれか１項に記載の姿勢推定装置。
【請求項７】
前記補間部は、前記抽出部によりフレームを抽出する際、及び前記推定部により前記評価対象の姿勢を推定する際に必要となる部位のうち、値が欠落している部位について補間する請求項４〜請求項６のいずれか１項に記載の姿勢推定装置。
【請求項８】
前記一連の動作がゴルフのスウィングの場合、
前記抽出部は、スウィング方向に対して前方の腕と鉛直方向とがなす角度が、鉛直方向を基準にマイナスとなるフレームと、プラスとなるフレームとを抽出し、
前記推定部は、前記抽出部により抽出されたフレームの各々における前記被写体の各部位の位置及び角度に基づいて、前記スウィング方向に対して前方の腕の角度が鉛直方向となるインパクトの瞬間の姿勢を、前記評価対象の姿勢として推定する
請求項１〜請求項６のいずれか１項に記載の姿勢推定装置。
【請求項９】
所定の時間間隔のフレーム毎に、一連の動作における被写体の各部位の位置が検出された複数のフレームから、前記一連の動作の中で、予め定めた評価対象の姿勢の前に表れる姿勢を示すフレームと、前記評価対象の姿勢の後に表れる姿勢を示すフレームとを抽出し、
抽出したフレームの各々における前記被写体の各部位の位置及び角度の少なくとも一方で表される姿勢に基づいて、前記評価対象の姿勢を推定する
ことを含む処理をコンピュータが実行する姿勢推定方法。
【請求項１０】
所定の時間間隔のフレーム毎に、一連の動作における被写体の各部位の位置が検出された複数のフレームから、前記一連の動作の中で、予め定めた評価対象の姿勢の前に表れる姿勢を示すフレームと、前記評価対象の姿勢の後に表れる姿勢を示すフレームとを抽出し、
抽出したフレームの各々における前記被写体の各部位の位置及び角度の少なくとも一方で表される姿勢に基づいて、前記評価対象の姿勢を推定する
ことを含む処理をコンピュータに実行させるための姿勢推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、姿勢推定装置、姿勢推定方法、及び姿勢推定プログラムに関する。
【背景技術】
【０００２】
従来、赤外線センサ等を利用して非接触でセンシングした物体の３次元位置情報と、人体の関節などの各部位を連結して表した人体モデルとを用いて、被写体の動きや姿勢を認識するシステムが存在する。例えば、このようなシステムは、ゴルフのスウィング時のフォームを評価する場合などに利用される。
【０００３】
また、動画像のフレームレート変換処理において、動画像を構成する時間軸方向に前後する２枚のフレームの間に内挿するための補間フレームを生成する画像処理装置が提案されている。この装置は、補間フレームの生成に、当該２枚のフレームに基づいて検出される動きベクトルが利用される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２８８６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
赤外線センサ等を利用して、非接触で被写体の動きや姿勢を推定する従来のシステムでは、赤外線センサ等によるセンシングのフレームレートが低いため、３次元位置情報をセンシングする時間間隔が長くなってしまう。そのため、一連の動きの中で評価したい瞬間の姿勢を捉えることができない場合がある。例えば、ゴルフのスウィングにおいて、インパクトの瞬間の姿勢は、スウィングフォームを評価する上で重要であるが、特にスウィングスピードが速くなるインパクトの瞬間の姿勢を捉えることは困難である。この場合、インパクトの瞬間に最も近いタイミングでセンシングされた３次元位置情報に基づいて認識された姿勢を、インパクト時の姿勢とみなして評価することが考えられるが、これでは適切にフォームの評価が行えない場合がある。
【０００６】
また、動画像のフレームレートを変換する従来技術を適用して、センシングのフレームレートの低さを補間することも考えられる。しかし、従来技術においてフレーム間に挿入される補間フレームが、一連の動きの中で評価したい姿勢となる瞬間に対応しているわけではないため、フレームレートを変換する従来技術を適用しても、評価対象の姿勢を適切に評価できない場合がある。
【０００７】
一つの側面として、一連の動きの中での所定の瞬間における姿勢を推定することを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様として、開示の技術は、所定の時間間隔のフレーム毎に、一連の動作における被写体の各部位の位置が検出された複数のフレームから、所定のフレームを抽出する抽出部を備える。所定のフレームは、前記一連の動作の中で、予め定めた評価対象の姿勢の前に表れる姿勢を示すフレームと、前記評価対象の姿勢の後に表れる姿勢を示すフレームとである。また、開示の技術は、前記抽出部により抽出されたフレームの各々における前記被写体の各部位の位置及び角度の少なくとも一方で表される姿勢に基づいて、前記評価対象の姿勢を推定する推定部を備える。
【発明の効果】
【０００９】
開示の技術は、一つの側面として、一連の動きの中での所定の瞬間における姿勢を推定することができる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る姿勢推定装置の機能ブロック図である。
【図２】認識部の認識結果の一例を示す図である。
【図３】抽出部及び推定部の処理を説明するための図である。
【図４】推定部の処理を説明するための図である。
【図５】補間部の処理を説明するための図である。
【図６】補間部の処理を説明するための図である。
【図７】補間部の処理を説明するための図である。
【図８】本実施形態に係る姿勢推定装置として機能するコンピュータの概略構成を示すブロック図である。
【図９】本実施形態における姿勢推定処理の一例を示すフローチャートである。
【図１０】補間処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して開示の技術に係る実施形態の一例を詳細に説明する。以下の実施形態では、ゴルフのスウィングにおけるインパクトの瞬間の姿勢を推定する場合について説明する。なお、ゴルフのスウィングは、開示の技術における一連の動作の一例であり、インパクトの瞬間の姿勢は、開示の技術における評価対象の姿勢の一例である。
【００１２】
図１に示すように、本実施形態に係る姿勢推定装置１０には、３次元（３Ｄ）センサカメラ２２と、表示部２４とが接続される。３Ｄセンサカメラ２２は、例えば、赤外線カメラやステレオカメラ等で実現することができる。３Ｄセンサカメラ２２は、所定のフレームレート（例えば、３０ｆｐｓ）で撮影範囲を撮影し、フレーム毎に、撮影範囲の各位置の３次元位置情報を計測し、姿勢推定装置１０へ出力する。表示部２４は、液晶ディスプレイ等で実現することができ、姿勢推定装置１０による姿勢の推定結果が表示される。
【００１３】
また、姿勢推定装置１０は、機能的には、認識部１２と、抽出部１４と、推定部１６と、補間部１８とを含む。
【００１４】
認識部１２は、３Ｄセンサカメラ２２から、ゴルフスウィングを行う被写体を撮影することにより得られた、複数のフレームの３次元位置情報を取得する。また、認識部１２は、予め用意された人体モデルと、各フレームの３次元位置情報とに基づいて、各フレームで撮影されている被写体の各部位の３次元位置を認識する。人体モデルは、例えば、右肩、右手首、右肘、首、左肩、・・・などの各部位の位置、及び各部位の隣接関係により人体を表した３次元のモデルである。３次元位置情報と人体モデルとを用いた被写体の各部位の認識方法は、従来既知の手法を用いることができるため、ここでは詳細な説明を省略する。
【００１５】
図２に、認識部１２による認識結果の一例を示す。図２の例では、各フレームに、各部位のＸ、Ｙ、及びＺの各座標値を対応付けている。なお、本実施形態では、各フレームは、連番のフレームナンバー（以下、「フレームＮｏ．」又は単に「Ｎｏ．」と表記する）で識別する。また、各部位は、連番の部位番号で識別するものとし、以下では、部位番号Ａ番の部位を「Ａ番部位」という。
【００１６】
抽出部１４は、認識部１２の認識結果に基づいて、複数のフレームから、一連の動作の中で、予め定めた評価対象の姿勢の前に表れる姿勢を示すフレームと、評価対象の姿勢の後に表れる姿勢を示すフレームとを抽出する。より具体的には、抽出部１４は、評価対象の姿勢における被写体の特定の部位の位置及び角度の少なくとも一方についての値が、一連の動作の動作方向に対してマイナスとなるフレームを、評価対象の姿勢の前に表れる姿勢を示すフレームとして抽出する。また、抽出部１４は、一連の動作の動作方向に対してプラスとなるフレームを、評価対象の姿勢の後に表れる姿勢を示すフレームとして抽出する。
【００１７】
本実施形態では、評価対象である、ゴルフのスウィングにおけるインパクトの瞬間の姿勢を、スウィング方向に対して前方の腕の角度が鉛直方向となる姿勢と定義する。スウィング方向に対して前方の腕とは、右利きの人であれば左腕であり、左利きの人であれば右腕である。以下では、説明を簡単にするため、スウィング方向に対して前方の腕を左腕とする場合を例に説明する。
【００１８】
上記のインパクトの瞬間の姿勢の定義を踏まえ、より具体的に説明すると、抽出部１４は、認識部１２の認識結果に基づいて、各フレームにおける左腕の角度を算出する。例えば、抽出部１４は、左肩の位置と左手首の位置とを結ぶ直線と、鉛直方向とのなす角を、左腕の角度として算出する。また、鉛直方向を０°とし、スウィング方向手前側（トップの姿勢側）をマイナスの角度、スウィング方向前方側（フィニッシュの姿勢側）をプラスの角度とする。
【００１９】
そして、抽出部１４は、左腕の角度がマイナスからプラスへ切り替わる直前のフレームを、評価対象の姿勢の前に表れる姿勢を示すフレーム（以下、「前フレーム」という）として抽出する。また、抽出部１４は、左腕の角度がマイナスからプラスへ切り替わった直後のフレームを、評価対象の姿勢の後に表れる姿勢を示すフレーム（以下、「後フレーム」という）として抽出する。
【００２０】
なお、抽出部１４は、左腕の角度がマイナスからプラスへ切り替わる直前又は直後のフレームに限らず、所定数前、又は所定数後のフレームを、前フレーム又は後フレームとして抽出してもよい。
【００２１】
例えば、図３に示すように、Ｎｏ．１００のフレームでの左腕の角度が−６°、Ｎｏ．１０１のフレームでの左腕の角度が＋４°のが場合、抽出部１４は、Ｎｏ．１００のフレームを前フレーム、Ｎｏ．１０１のフレームを後フレームとして抽出する。
【００２２】
推定部１６は、抽出部１４により抽出されたフレームの各々における被写体の姿勢に基づいて、評価対象の姿勢がとられたタイミング、及び評価対象の姿勢を推定する。具体的には、推定部１６は、特定の部位の位置及び角度の少なくとも一方について、評価対象の姿勢として予め定めた値と前フレームにおける値との差と、評価対象の姿勢として予め定めた値と後フレームにおける値との差との比率を算出する。そして、推定部１６は、前フレームと後フレームとの時間間隔が、算出した比率で分配されるタイミングを、評価対象の姿勢がとられたタイミングとして推定する。
【００２３】
より具体的には、図３に示すように、左腕の角度について、インパクト時の角度として定義された角度「０°（鉛直方向）」と、前フレームの角度「−６°」との差は６°である。同様に、「０°」と、後フレームの角度「＋４°」との差は４°である。したがって、推定部１６は、前フレームとインパクト時との左腕の角度差：インパクト時と後フレームとの左腕の角度差は、３：２と算出する。推定部１６は、インパクトの瞬間のフレームとして仮想したフレーム（以下、「インパクトフレーム」という）のフレームナンバーををＸとおき、以下のようにＸを求める。
【００２４】
（Ｘ−前フレームのＮｏ．）：（後フレームのＮｏ．−Ｘ）＝算出した比率
図３の例では、
（Ｘ−１００）：（１０１−Ｘ）＝３：２
であるため、Ｘ＝１００．６と算出できる。本実施形態では、フレームＮｏ．として連番を用いている。そのため、算出したフレームＮｏ．と、フレーム間の時間間隔と、動作（スウィング）開始時のフレームＮｏ．とに基づいて、Ｎｏ．Ｘのフレームのタイミング、すなわち、インパクトの瞬間のタイミング（時間情報）を算出することができる。
【００２５】
推定部１６は、認識部１２の認識結果に基づいて、前フレーム及び後フレームの各々について、評価のポイントとなる各姿勢を示す値を算出する。例えば、図４に示すように、評価のポイントとなる姿勢としては、左膝の角度、前傾角度、背骨の傾き、頭の動き等を定めておくことができる。
【００２６】
例えば、推定部１６は、左腿の位置と左膝の位置とを結ぶ直線と、左膝の位置と左足首の位置とを結ぶ直線とのなす角を、左膝の角度として算出することができる。また、例えば、推定部１６は、首と腰とを結ぶ直線と鉛直方向との前後方向のなす角度を前傾角度、横方向のなす角度を背骨の傾きとして算出することができる。また、例えば、推定部１６は、前フレーム及び後フレームの各々と、それぞれのフレームの１つ前のフレームとにおける頭の位置の差を、頭の動きとして算出することができる。評価のポイントとなる姿勢や、各姿勢の算出方法は上記の例に限定されない。
【００２７】
推定部１６は、図４に示すように、前フレームについて算出した各姿勢を示す値と、後フレームについて算出した各姿勢を示す値との差分を、上記のように算出した比率に応じて分配する。そして、推定部１６は、前フレームについて算出した各姿勢を示す値、又は後フレームについて算出した各姿勢を示す値と、分配した値とに基づいて、インパクトフレームにおける評価のポイントとなる各姿勢を示す値を算出する。
【００２８】
例えば、図４に示すように、左膝の角度について、Ｎｏ．１００のフレームでの値「＋１５°」と、Ｎｏ．１０１のフレームでの値「＋１７．５°」との差分は２．５°である。これを、上記の比率３：２で分配すると、＋１．５°：＋１．０°となる。したがって、Ｎｏ．１００．６のインパクトフレームでの左膝の角度は、＋１５°＋１．５°、又は１７．５°−１．０°で、１６．５°と算出される。
【００２９】
上記のように、インパクトフレームにおける評価のポイントとなる各姿勢を示す値を算出することが、評価対象の姿勢を推定することに相当する。
【００３０】
補間部１８は、抽出部１４が各フレームにおける左腕の角度を算出する際、及び推定部１６がインパクトフレームにおける評価のポイントとなる各姿勢を示す値を算出する際に必要な部位の認識結果（３次元位置情報）の欠落を補間する。３Ｄセンサカメラ２２での撮影の際に被写体の一部が障害物で隠れてしまう場合や、人体モデルを用いて各部位の３次元位置情報を認識する際の認識エラーなどにより、認識結果に欠落が生じる場合がある。以下では、認識結果が欠落しているデータを「欠落データ」という。
【００３１】
具体的には、補間部１８は、欠落データのある部位と所定距離以内で隣接する他の部位の値が存在する場合、隣接する部位の値と、欠落データがあるフレームの直前及び直後のフレームにおける該当部位の値とに基づいて、欠落データを補間する。所定距離は、例えば、同じ傾きで動くことが想定されるほど近い部位同士であることを判定可能な値を予め定めておく。
【００３２】
例えば、図５に示すように、Ｎｏ．１７４のフレームにおける７番部位が欠落データであったとする。また、７番部位と６番部位とが隣接しているものとする。この場合、補間部１８は、Ｘ座標、Ｙ座標、Ｚ座標の各々について、６番部位についてのＮｏ．１７３、１７４、及び１７５の値から近似直線を算出する。そして、補間部１８は、算出した近似直線と平行で、かつＮｏ．１７３及び１７５のフレームの各々での７番部位の値との距離が最も近い直線上の、Ｎｏ．１７４に対応する値で、欠落データを補間する。
【００３３】
また、補間部１８は、欠落データのあるフレームと、時系列順に直前又は直後のフレームにおける対応する部位の値に基づいて、欠落データを補間する。この補間方法は、欠落データのある部位と所定距離以内で隣接する他の部位が存在しない場合など、上記の隣接部位の値による補間が適用できない場合などにも適用することができる。
【００３４】
例えば、図６に示すように、Ｎｏ．２１１のフレームにおける４番部位が欠落データであったとする。この場合、補間部１８は、Ｘ座標、Ｙ座標、Ｚ座標の各々について、４番部位について、Ｎｏ．２１１の前後の所定フレーム（図６の例では、Ｎｏ．２０９、２１０、２１２、２１３）の値から近似曲線を算出する。そして、補間部１８は、算出した近似曲線上の、Ｎｏ．２１１に対応する値で、欠落データを補間する。
【００３５】
また、補間部１８は、欠落データのある部位が存在するフレームについて、対応する部位の値が得られているフレームにおける、対応する部位の値に基づいて、欠落データを補間する。例えば、複数フレームにわたって連続して欠落データが生じている場合などには、上記のように、隣接する部位や他のフレームにおいて得られている値の近似直線や近似曲線により補間しても、精度良く補間できない場合がある。そのため、簡略化した方法で欠落データを補間するものである。
【００３６】
例えば、図７に示すように、Ｎｏ．２１４及び２１５のフレームにおける４番部位が連続して欠落データであったとする。この場合、補間部１８は、Ｎｏ．２１４のフレームについては、４番部位の値が存在するフレームＮｏ．が最も近いフレーム（図７の例ではＮｏ．２１３）の値で欠落データを補間する。同様に、補間部１８は、Ｎｏ．２１５のフレームについては、４番部位の値が存在するフレームＮｏ．が最も近いフレーム（図７の例ではＮｏ．２１６）の値で欠落データを補間する。
【００３７】
姿勢推定装置１０は、例えば図８に示すコンピュータ４０で実現することができる。コンピュータ４０は、Central Processing Unit（ＣＰＵ）４１と、一時記憶領域としてのメモリ４２と、不揮発性の記憶部４３とを備える。また、コンピュータ４０は、３Ｄセンサカメラ２２及び表示部２４等の入出力装置が接続される入出力Interface（Ｉ／Ｆ）４４を備える。また、コンピュータ４０は、記憶媒体４９に対するデータの読み込み及び書き込みを制御するRead/Write（Ｒ／Ｗ）部４５と、インターネット等のネットワークに接続される通信Ｉ／Ｆ４６とを備える。ＣＰＵ４１、メモリ４２、記憶部４３、入出力Ｉ／Ｆ４４、Ｒ／Ｗ部４５、及び通信Ｉ／Ｆ４６は、バス４７を介して互いに接続される。
【００３８】
記憶部４３は、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部４３には、コンピュータ４０を、姿勢推定装置１０として機能させるための姿勢推定プログラム５０が記憶される。姿勢推定プログラム５０は、認識プロセス５２と、抽出プロセス５４と、推定プロセス５６と、補間プロセス５８とを有する。
【００３９】
ＣＰＵ４１は、姿勢推定プログラム５０を記憶部４３から読み出してメモリ４２に展開し、姿勢推定プログラム５０が有するプロセスを順次実行する。ＣＰＵ４１は、認識プロセス５２を実行することで、図１に示す認識部１２として動作する。また、ＣＰＵ４１は、抽出プロセス５４を実行することで、図１に示す抽出部１４として動作する。また、ＣＰＵ４１は、推定プロセス５６を実行することで、図１に示す推定部１６として動作する。また、ＣＰＵ４１は、補間プロセス５８を実行することで、図１に示す補間部１８として動作する。これにより、姿勢推定プログラム５０を実行したコンピュータ４０が、姿勢推定装置１０として機能することになる。なお、プログラムを実行するＣＰＵ４１はハードウェアである。
【００４０】
なお、姿勢推定プログラム５０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００４１】
次に、本実施形態に係る姿勢推定装置１０の作用について説明する。３Ｄセンサカメラ２２が、一連の動作としてゴルフスウィングを行った被写体を撮影し、フレーム毎に、撮影範囲の各位置の３次元位置情報を計測する。そして、３Ｄセンサカメラ２２から出力された複数のフレームの３次元位置情報が、姿勢推定装置１０に入力されると、姿勢推定装置１０が、図９に示す姿勢推定処理を実行する。なお、姿勢推定処理は、開示の技術における姿勢推定方法の一例である。
【００４２】
ステップＳ１２で、認識部１２が、姿勢推定装置１０に入力された複数のフレームの３次元位置情報を取得する。そして、認識部１２が、予め用意された人体モデルと、各フレームの３次元位置情報とに基づいて、各フレームで撮影されている被写体の各部位の３次元位置を認識し、例えば、図２に示すような認識結果を取得する。
【００４３】
次に、ステップＳ１４で、抽出部１４が、全てのフレームについて、左腕の角度を算出するために必要な部位（例えば、左肩及び左手首）の値が存在するか否かを判定する。すなわち、抽出部１４は、左腕の角度を算出するために必要な部位が欠落データとなっているフレームが存在するか否かを判定する。全てのフレームについて、左腕の角度を算出するために必要な部位の値が存在する場合には、処理はステップＳ１６へ移行する。一方、左腕の角度を算出するために必要な部位が欠落データとなっているフレームが存在する場合には、処理はステップＳ４０へ移行し、後述する補間処理が実行された後、ステップＳ１６へ移行する。
【００４４】
ステップＳ１６では、抽出部１４が、左腕の角度が鉛直方向（０°）となっているフレーム、すなわち、インパクトの瞬間を捉えたフレームが存在するか否かを判定する。左腕の角度が鉛直方向（０°）となっているフレームが存在する場合には、処理はステップＳ２４へ移行し、存在しない場合には、処理はステップＳ１８へ移行する。
【００４５】
ステップＳ１８では、抽出部１４が、左腕の角度がマイナスからプラスへ切り替わる直前のフレームを前フレームとして抽出し、左腕の角度がマイナスからプラスへ切り替わった直後のフレームを後フレームとして抽出する。
【００４６】
次に、ステップＳ２０で、推定部１６が、左腕の角度について、前フレームにおける値と鉛直方向（０°）との差と、後フレームにおける値と鉛直方向との差との比率を算出する。そして、推定部１６は、前フレームと後フレームとの時間間隔が、算出した比率で分配されるタイミングを、インパクトの姿勢がとられたタイミングとして推定する。
【００４７】
次に、ステップＳ２２で、推定部１６が、前フレーム及び後フレームの各々において、インパクト時の評価のポイントとなる各姿勢を示す値を算出するために必要な各部位の値が存在するか否かを判定する。必要な部位の値が存在する場合には、処理はステップＳ２６へ移行する。必要な部位の値が存在しない場合には、処理はステップＳ４０へ移行し、後述する補間処理が実行された後、ステップＳ２６へ移行する。
【００４８】
一方、ステップＳ２４では、推定部１６が、上記ステップＳ１６で、左腕の角度が鉛直方向となっていると判定されたフレームについて、インパクト時の評価のポイントとなる各姿勢を示す値を算出するために必要な各部位の値が存在するか否かを判定する。必要な部位の値が存在する場合には、処理はステップＳ２６へ移行する。必要な部位の値が存在しない場合には、処理はステップＳ４０へ移行し、後述する補間処理が実行された後、ステップＳ２６へ移行する。
【００４９】
ステップＳ２６では、推定部１６が、上記ステップＳ１２での認識部１２による認識結果に基づいて、前フレーム及び後フレームの各々について、評価のポイントとなる各姿勢を示す値を算出する。そして、推定部１６は、前フレームについて算出した各姿勢を示す値と、後フレームについて算出した各姿勢を示す値との差分を、上記ステップＳ２０で算出した比率に応じて分配する。さらに、推定部１６は、前フレームについて算出した各姿勢を示す値、又は後フレームについて算出した各姿勢を示す値と、分配した値とに基づいて、インパクトフレームにおける評価のポイントとなる各姿勢を示す値を算出する。これにより、インパクト時の姿勢が推定される。
【００５０】
次に、ステップＳ２８で、推定部１６が、上記ステップＳ２６における推定結果を出力する。推定結果は、例えば、推定されたインパクトのタイミング、及びインパクト時の姿勢を示す情報を含めることができる。インパクトのタイミングは、前フレーム及び後フレームのフレームナンバーから算出した仮想のフレームのＮｏ．であってもよいし、このフレームナンバーから算出した時間情報でもよい。また、インパクト時の姿勢を示す情報としては、上記ステップＳ２６で算出された、評価のポイントとなる各姿勢を示す値でもよいし、これらを人体モデルとして画像化したもの、又はこれらの組み合わせであってもよい。出力された推定結果は、表示部２４に表示される。推定結果が出力されると、姿勢推定処理は終了する。
【００５１】
ここで、図１０を参照して、補間処理について説明する。
【００５２】
ステップＳ４２で、補間部１８が、欠落データのある部位と所定距離以内で隣接する他の部位の値が存在するか否かを判定する。肯定判定の場合、処理はステップＳ４４へ移行し、補間部１８が、所定距離以内で隣接する部位の値と、欠落データがあるフレームの直前及び直後のフレームにおける該当部位の値とに基づいて、欠落データを補間する。
【００５３】
一方、上記ステップＳ４２が否定判定の場合には、処理はステップＳ４６へ移行し、補間部１８が、欠落データのあるフレームと、時系列順に直前又は直後のフレームに、対応する部位の値が存在するか否かを判定する。肯定判定の場合、処理はステップＳ４８へ移行し、補間部１８が、欠落データのあるフレームと、時系列順に直前又は直後のフレームに、対応する部位の値で欠落データを補間する。
【００５４】
一方、上記ステップＳ４６が否定判定の場合には、処理はステップＳ５０へ移行し、補間部１８が、欠落データのある部位が存在するフレームについて、対応する部位の値が得られているフレームにおける、対応する部位の値に基づいて、欠落データを補間する。そして、補間処理は終了し、姿勢推定処理へリターンする。
【００５５】
以上説明したように、本実施形態に係る姿勢推定装置１０は、一連の動きを３Ｄセンサカメラで撮影した複数のフレームから、評価対象の姿勢の前後の姿勢を示すフレームを抽出する。そして、姿勢推定装置１０は、抽出したフレームの各々における姿勢に基づいて、評価対象の姿勢となる瞬間のタイミング及びその姿勢を推定する。これにより、一連の動きの中での所定の瞬間における姿勢を推定することができる。
【００５６】
また、本実施形態に係る姿勢推定装置１０は、姿勢の推定に必要な部位の値が欠落している場合には、その部位に隣接する部位の値や、直前又は直後のフレームにおける対応する部位の値を用いて、欠落した値を補間する。これにより、３Ｄセンサカメラによる撮影時に被写体の一部が障害物で隠れてしまった場合や、人体の各部位を認識した際の認識エラー等があったとしても、評価対象の姿勢となる瞬間のタイミング及びその姿勢を推定することができる。
【００５７】
なお、上記実施形態では、右利きの人のスウィングを前提として説明したが、左利きの人のスウィングを評価する場合、右腕の角度が鉛直方向となる姿勢をインパクト時の姿勢とすればよい。
【００５８】
また、上記実施形態では、評価対象の姿勢が、ゴルフのスウィングにおけるインパクト時の姿勢である場合について説明したが、これに限定されない。例えば、野球のバッティングフォーム、体操の技、ダンスの振り付け等にも適用可能である。例えば、野球のバッティングであれば、バットがボールにミートした瞬間の姿勢を評価対象の姿勢としたり、体操の技であれば、着地や踏切の瞬間の姿勢を評価対象の姿勢としたりすることができる。
【００５９】
また、上記実施形態では、姿勢推定プログラム５０が記憶部４３に予め記憶（インストール）されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【００６０】
以上の実施形態に関し、更に以下の付記を開示する。
【００６１】
（付記１）
所定の時間間隔のフレーム毎に、一連の動作における被写体の各部位の位置が検出された複数のフレームから、前記一連の動作の中で、予め定めた評価対象の姿勢の前に表れる姿勢を示すフレームと、前記評価対象の姿勢の後に表れる姿勢を示すフレームとを抽出する抽出部と、
前記抽出部により抽出されたフレームの各々における前記被写体の各部位の位置及び角度の少なくとも一方で表される姿勢に基づいて、前記評価対象の姿勢を推定する推定部と、
を含む姿勢推定装置。
【００６２】
（付記２）
前記抽出部は、前記評価対象の姿勢における前記被写体の特定の部位の位置及び角度の少なくとも一方についての値が、前記一連の動作の動作方向に対してマイナスとなるフレームを、前記評価対象の姿勢の前に表れる姿勢を示すフレームとして抽出し、前記一連の動作の動作方向に対してプラスとなるフレームを、前記評価対象の姿勢の後に表れる姿勢を示すフレームとして抽出し、
前記推定部は、前記特定の部位の位置及び角度の少なくとも一方について、前記評価対象の姿勢として予め定めた値と前記マイナスとなるフレームにおける値との差と、前記評価対象の姿勢として予め定めた値と前記プラスとなるフレームにおける値との差との比率と、フレーム間の前記所定の時間間隔とに基づいて、前記評価対象の姿勢がとられたタイミングを推定する
付記１に記載の姿勢推定装置。
【００６３】
（付記３）
前記推定部は、前記比率と、前記マイナスとなるフレーム又は前記プラスとなるフレームにおける前記被写体の各部位の位置及び角度の少なくとも一方についての値とに基づいて、前記評価対象の姿勢における各部位の位置及び角度の少なくとも一方についての値を推定する付記２に記載の姿勢推定装置。
【００６４】
（付記４）
位置の値が欠落している部位が存在するフレームについて、前記位置の値が欠落している部位と所定距離以内で隣接する他の部位の位置の値に基づいて、欠落している値を補間する補間部をさらに含む付記１〜付記３のいずれか１項に記載の姿勢推定装置。
【００６５】
（付記５）
位置の値が欠落している部位が存在するフレームについて、時系列順に前後する他のフレームにおける対応する部位の位置の値に基づいて、欠落している値を補間する補間部をさらに含む付記１〜付記３のいずれか１項に記載の姿勢推定装置。
【００６６】
（付記６）
位置の値が欠落している部位が存在するフレームについて、対応する部位の位置の値が得られているフレームにおける前記対応する部位の位置の値に基づいて、欠落している値を補間補間部をさらに含む付記１〜付記３のいずれか１項に記載の姿勢推定装置。
【００６７】
（付記７）
前記補間部は、前記抽出部によりフレームを抽出する際、及び前記推定部により前記評価対象の姿勢を推定する際に必要となる部位のうち、値が欠落している部位について補間する付記４〜付記６のいずれか１項に記載の姿勢推定装置。
【００６８】
（付記８）
前記一連の動作がゴルフのスウィングの場合、
前記抽出部は、スウィング方向に対して前方の腕と鉛直方向とがなす角度が、鉛直方向を基準にマイナスとなるフレームと、プラスとなるフレームとを抽出し、
前記推定部は、前記抽出部により抽出されたフレームの各々における前記被写体の各部位の位置及び角度に基づいて、前記スウィング方向に対して前方の腕の角度が鉛直方向となるインパクトの瞬間の姿勢を、前記評価対象の姿勢として推定する
付記１〜付記６のいずれか１項に記載の姿勢推定装置。
【００６９】
（付記９）
所定の時間間隔のフレーム毎に、一連の動作における被写体の各部位の位置が検出された複数のフレームから、前記一連の動作の中で、予め定めた評価対象の姿勢の前に表れる姿勢を示すフレームと、前記評価対象の姿勢の後に表れる姿勢を示すフレームとを抽出し、
抽出したフレームの各々における前記被写体の各部位の位置及び角度の少なくとも一方で表される姿勢に基づいて、前記評価対象の姿勢を推定する
ことを含む処理をコンピュータが実行する姿勢推定方法。
【００７０】
（付記１０）
前記評価対象の姿勢における前記被写体の特定の部位の位置及び角度の少なくとも一方についての値が、前記一連の動作の動作方向に対してマイナスとなるフレームを、前記評価対象の姿勢の前に表れる姿勢を示すフレームとして抽出し、前記一連の動作の動作方向に対してプラスとなるフレームを、前記評価対象の姿勢の後に表れる姿勢を示すフレームとして抽出し、
前記特定の部位の位置及び角度の少なくとも一方について、前記評価対象の姿勢として予め定めた値と前記マイナスとなるフレームにおける値との差と、前記評価対象の姿勢として予め定めた値と前記プラスとなるフレームにおける値との差との比率と、フレーム間の前記所定の時間間隔とに基づいて、前記評価対象の姿勢がとられたタイミングを推定する
付記９に記載の姿勢推定方法。
【００７１】
（付記１１）
前記比率と、前記マイナスとなるフレーム又は前記プラスとなるフレームにおける前記被写体の各部位の位置及び角度の少なくとも一方についての値とに基づいて、前記評価対象の姿勢における各部位の位置及び角度の少なくとも一方についての値を推定する付記１０に記載の姿勢推定方法。
【００７２】
（付記１２）
位置の値が欠落している部位が存在するフレームについて、前記位置の値が欠落している部位と所定距離以内で隣接する他の部位の位置の値に基づいて、欠落している値を補間することをさらに含む処理を前記コンピュータが実行する付記９〜付記１１のいずれか１項に記載の姿勢推定方法。
【００７３】
（付記１３）
位置の値が欠落している部位が存在するフレームについて、時系列順に前後する他のフレームにおける対応する部位の位置の値に基づいて、欠落している値を補間することをさらに含む処理を前記コンピュータが実行する付記９〜付記１１のいずれか１項に記載の姿勢推定方法。
【００７４】
（付記１４）
位置の値が欠落している部位が存在するフレームについて、対応する部位の位置の値が得られているフレームにおける前記対応する部位の位置の値に基づいて、欠落している値を補間することをさらに含む処理を前記コンピュータが実行する付記９〜付記１１のいずれか１項に記載の姿勢推定方法。
【００７５】
（付記１５）
フレームを抽出する際、及び前記評価対象の姿勢を推定する際に必要となる部位のうち、値が欠落している部位について補間する付記１２〜付記１４のいずれか１項に記載の姿勢推定方法。
【００７６】
（付記１６）
前記一連の動作がゴルフのスウィングの場合、
スウィング方向に対して前方の腕と鉛直方向とがなす角度が、鉛直方向を基準にマイナスとなるフレームと、プラスとなるフレームとを抽出し、
抽出したフレームの各々における前記被写体の各部位の位置及び角度に基づいて、前記スウィング方向に対して前方の腕の角度が鉛直方向となるインパクトの瞬間の姿勢を、前記評価対象の姿勢として推定する
付記９〜付記１４のいずれか１項に記載の姿勢推定方法。
【００７７】
（付記１７）
所定の時間間隔のフレーム毎に、一連の動作における被写体の各部位の位置が検出された複数のフレームから、前記一連の動作の中で、予め定めた評価対象の姿勢の前に表れる姿勢を示すフレームと、前記評価対象の姿勢の後に表れる姿勢を示すフレームとを抽出し、
抽出したフレームの各々における前記被写体の各部位の位置及び角度の少なくとも一方で表される姿勢に基づいて、前記評価対象の姿勢を推定する
ことを含む処理をコンピュータに実行させるための姿勢推定プログラム。
【００７８】
（付記１８）
前記評価対象の姿勢における前記被写体の特定の部位の位置及び角度の少なくとも一方についての値が、前記一連の動作の動作方向に対してマイナスとなるフレームを、前記評価対象の姿勢の前に表れる姿勢を示すフレームとして抽出し、前記一連の動作の動作方向に対してプラスとなるフレームを、前記評価対象の姿勢の後に表れる姿勢を示すフレームとして抽出し、
前記特定の部位の位置及び角度の少なくとも一方について、前記評価対象の姿勢として予め定めた値と前記マイナスとなるフレームにおける値との差と、前記評価対象の姿勢として予め定めた値と前記プラスとなるフレームにおける値との差との比率と、フレーム間の前記所定の時間間隔とに基づいて、前記評価対象の姿勢がとられたタイミングを推定する
付記１７に記載の姿勢推定プログラム。
【００７９】
（付記１９）
前記比率と、前記マイナスとなるフレーム又は前記プラスとなるフレームにおける前記被写体の各部位の位置及び角度の少なくとも一方についての値とに基づいて、前記評価対象の姿勢における各部位の位置及び角度の少なくとも一方についての値を推定する付記１８に記載の姿勢推定プログラム。
【００８０】
（付記２０）
位置の値が欠落している部位が存在するフレームについて、前記位置の値が欠落している部位と所定距離以内で隣接する他の部位の位置の値に基づいて、欠落している値を補間することをさらに含む処理を前記コンピュータに実行させるための付記１７〜付記１９のいずれか１項に記載の姿勢推定プログラム。
【符号の説明】
【００８１】
１０   姿勢推定装置
１２   認識部
１４   抽出部
１６   推定部
１８   補間部
２２   ３Ｄセンサカメラ
２４   表示部
４０   コンピュータ
４１   ＣＰＵ
４２   メモリ
４３   記憶部
４９   記憶媒体
５０   姿勢推定プログラム
【図１】
2019045967.tif 000003
【図２】
2019045967.tif 000004
【図３】
2019045967.tif 000005
【図４】
2019045967.tif 000006
【図５】
2019045967.tif 000007
【図６】
2019045967.tif 000008
【図７】
2019045967.tif 000009
【図８】
2019045967.tif 000010
【図９】
2019045967.tif 000011
【図１０】
2019045967.tif 000012