(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-29
(45)【発行日】2023-12-07
(54)【発明の名称】学習装置、推定装置、学習方法、及び学習プログラム
(51)【国際特許分類】
A63B 71/06 20060101AFI20231130BHJP
G06T 7/00 20170101ALI20231130BHJP
G06N 20/00 20190101ALI20231130BHJP
【FI】
A63B71/06 Z
G06T7/00 350B
G06N20/00
(21)【出願番号】P 2022546795
(86)(22)【出願日】2020-09-03
(86)【国際出願番号】 JP2020033425
(87)【国際公開番号】W WO2022049694
(87)【国際公開日】2022-03-10
【審査請求日】2023-01-25
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】永井 隆昌
(72)【発明者】
【氏名】武田 翔一郎
(72)【発明者】
【氏名】志水 信哉
【審査官】田中 洋行
(56)【参考文献】
【文献】国際公開第2018/122956(WO,A1)
【文献】特表2017-537403(JP,A)
【文献】特表2004-535129(JP,A)
【文献】米国特許出願公開第2009/0220124(US,A1)
【文献】米国特許第09230159(US,B1)
【文献】辛 貞殷 ほか,動画像処理によるスポーツ運動解析の研究-鉄棒競技の自動採点システムに向けて-,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2018年05月15日,第108巻, 第47号,第13頁-第18頁,全文、全図
(58)【調査した分野】(Int.Cl.,DB名)
A63B 71/00-71/16
G06T 7/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
競技者の動作を記録した映像データに含まれる複数の画像フレームの各々における前記競技者を囲む領域の一部分を任意にマスクしたマスク映像データと、前記映像データに記録された前記競技者の競技に対する評価値である真値スコアに対して前記マスクした領域の割合に応じた重み付けをしたマスクスコアとの関係を示す学習モデルデータを生成する学習処理部
を備える学習装置。
【請求項2】
前記学習処理部は、
関数近似器を有しており、前記マスク映像データを前記関数近似器に与えることにより出力値として得られる推定スコアが、当該マスク映像データに対応する前記マスクスコアに近づくように学習処理を行って前記関数近似器の係数である前記学習モデルデータを更新する、
請求項1に記載の学習装置。
【請求項3】
前記映像データと、前記映像データに含まれる複数の画像フレームの各々における前記競技者を囲む領域を特定する競技者領域特定データと、前記映像データに対応する前記真値スコアとを取り込む入力部と、
前記映像データに含まれる複数の画像フレームの各々において、各々の前記画像フレームに対応する前記競技者領域特定データが示す領域の任意の位置の一部分の領域であって前記映像データごとに任意に定める所定の割合の大きさの領域をマスクして前記マスク映像データを生成し、前記映像データごとの前記真値スコアに対して、当該映像データに対応する前記所定の割合に応じた重み付けをして前記マスクスコアを生成する学習用データ生成部と、
を備える請求項1又は2に記載の学習装置。
【請求項4】
前記学習用データ生成部は、
前記画像フレームの平均色で当該画像フレームに対応するマスク領域を塗りつぶしてマスクするか、または、前記映像データの平均色で当該映像データに対応する全てのマスク領域を塗りつぶしてマスクするか、または、任意に定める色で全てのマスク領域を同じ色に塗りつぶしてマスクする、
請求項3に記載の学習装置。
【請求項5】
競技者の動作を記録した映像データを取り込む入力部と、
競技者の動作を記録した映像データに含まれる複数の画像フレームの各々における前記競技者を囲む領域の一部分を任意にマスクしたマスク映像データと、前記映像データに記録された前記競技者の競技に対する評価値である真値スコアに対して前記マスクした領域の割合に応じた重み付けをしたマスクスコアとの関係を示す学習モデルデータと、前記映像データとに基づいて、前記映像データに対応する推定スコアを算出する推定処理部と、
を備える推定装置。
【請求項6】
コンピュータが実行する学習方法であって、
競技者の動作を記録した映像データに含まれる複数の画像フレームの各々における前記競技者を囲む領域の一部分を任意にマスクしたマスク映像データと、前記映像データに記録された前記競技者の競技に対する評価値である真値スコアに対して前記マスクした領域の割合に応じた重み付けをしたマスクスコアとの関係を示す学習モデルデータを生成する学習方法。
【請求項7】
コンピュータに、
競技者の動作を記録した映像データに含まれる複数の画像フレームの各々における前記競技者を囲む領域の一部分を任意にマスクしたマスク映像データと、前記映像データに記録された前記競技者の競技に対する評価値である真値スコアに対して前記マスクした領域の割合に応じた重み付けをしたマスクスコアとの関係を示す学習モデルデータを生成させる手順、
を実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、競技者の競技の採点の手法に関するノウハウを学習する学習装置、学習方法、及び学習プログラム、並びに、学習結果に基づいて競技のスコアを推定する推定装置に関する。
【背景技術】
【0002】
スポーツ競技において、高飛び込み、フィギュアスケート及び体操等の選手が行った競技に対して、オフィシャルな審判員がスコアを採点し、採点したスコアに基づいて個々の競技の順位を決める競技がある。このような競技には、採点における定量的な採点基準が存在している。
【0003】
近年、このような競技におけるスコアを自動的に推定するといったコンピュータビジョン分野での活動品質評価で使われる技術の検討が進められており、このような技術としてAQA(Action Quality Assessment)という技術が知られている。
【0004】
例えば、非特許文献1に記載の技術では、競技者が競技した一連の動作を記録した映像データを入力データとし、深層学習により映像データから特徴を抽出してスコアを推定する手法が提案されている。
【0005】
図10は、非特許文献1に記載の技術における学習装置100と、推定装置200の概略構成を示すブロック図である。学習装置100の学習処理部101には、学習用データとして、競技者が競技した一連の動作を記録した映像データと、当該競技者の競技に対して審判員が採点した真値スコアt
scoreとが与えられる。学習処理部101は、DNN(Deep Neural Network)を備えており、DNNに学習モデルデータ記憶部102が記憶する重みやバイアス等の係数を適用する。
【0006】
学習処理部101は、DNNに映像データを与えることにより出力値として得られる推定スコアyscoreと、当該映像データに対応する真値スコアtscoreとを用いて損失LSRを算出する。学習処理部101は、算出した損失LSRを小さくするように誤差逆伝搬法によりDNNに適用する新たな係数を算出する。学習処理部101は、算出した新たな係数を学習モデルデータ記憶部102に書き込むことにより係数を更新する。
【0007】
これらの係数を更新する処理を繰り返すことにより、係数が次第に収束し、最終的に収束した係数が、学習済みの学習モデルを示す学習モデルデータとして学習モデルデータ記憶部102に記憶されることになる。なお、非特許文献1では、損失LSRの算出に、LSR=L1距離(yscore,tscore)+L2距離(yscore,tscore)という損失関数を用いている。
【0008】
推定装置200は、学習処理部101と同一構成のDNNを備える推定処理部201と、学習装置100の学習モデルデータ記憶部102が記憶する学習済みの学習モデルデータを予め記憶する学習モデルデータ記憶部202とを備える。推定処理部201のDNNには、学習モデルデータ記憶部202が記憶する学習済みの学習モデルデータが適用される。推定処理部201は、任意の競技者が競技した一連の動作を記録した映像データを入力データとしてDNNに与えることにより、DNNの出力値として当該競技に対する推定スコアyscoreが得られる。
【先行技術文献】
【非特許文献】
【0009】
【文献】Paritosh Parmar and Brendan Tran Morris,"Learning To Score Olympic Events", In CVPR Workshop. 2017
【発明の概要】
【発明が解決しようとする課題】
【0010】
非特許文献1に記載の技術に対して、以下のような実験を試みた。
図11(a)に示す競技者が競技した一連の動作を記録した映像データ(以下「原映像データ」という。)と、
図11(b)に示す原映像データに含まれる複数の画像フレームの各々において競技者が表示されている領域を矩形形状の領域301,302,303で囲み、矩形形状の領域を画像フレームの平均色で塗りつぶした映像データ(以下「競技者隠蔽映像データ」という。)とを準備する。なお、領域301,302,303の範囲を点線の枠で示しているが、この点線の枠は、範囲を明確にするために示したものであり、実際の競技者隠蔽映像データには存在しない。
【0011】
図11(a)に示すように、推定処理部201に対して原映像データを与えた場合に得られる推定スコアy
scoreの正確度合いは「0.8890」であった。これに対して、
図11(b)に示すように、推定処理部201に対して競技者隠蔽映像データを与えた場合に得られる推定スコアy
scoreの正確度合いは「0.8563」であった。この実験結果より、競技者隠蔽映像データを推定処理部201に与えた場合、競技者の動作が見えないにも関わらず、高精度でスコアを推定しており、競技者の動作が見える原映像データの場合と比較して、スコアの推定精度がほとんど下がっていないことが分かる。
【0012】
非特許文献1に記載の技術では、競技者の動作に関する特徴、例えば、関節座標などを明示的に与えずに、映像データのみを学習用のデータとして与えている。そのため、上記の実験結果より、非特許文献1に記載の技術は、競技者の動作に関係ない映像中の特徴、例えば、会場などの背景の特徴を抽出しており、学習モデルデータは、競技者の動作に汎化していないのではないかと推測される。会場などの背景の特徴を抽出していることから、非特許文献1に記載の技術は、未知の背景を含む映像データに対して精度が悪化するのではないかとも推測される。
【0013】
人間の関節座標などの関節情報を明示的に与える手法も存在するが、関節は複雑な動作をするため推定が困難であり、不正確な関節情報は、逆に精度に悪影響を及ぼしてしまう。そのため、関節情報を明示的に与える手法は、回避したいという事情もある。
【0014】
上記事情に鑑み、本発明は、関節情報等の推定が困難な情報を明示的に与えることなく、競技者の動作を記録した映像データから、競技者の動作に汎化した学習モデルデータを生成することを可能とする技術の提供を目的としている。
【課題を解決するための手段】
【0015】
本発明の一態様は、競技者の動作を記録した映像データに含まれる複数の画像フレームの各々における前記競技者を囲む領域の一部分を任意にマスクしたマスク映像データと、前記映像データに記録された前記競技者の競技に対する評価値である真値スコアに対して前記マスクした領域の割合に応じた重み付けをしたマスクスコアとの関係を示す学習モデルデータを生成する学習処理部を備える学習装置である。
【0016】
本発明の一態様は、競技者の動作を記録した映像データを取り込む入力部と、競技者の動作を記録した映像データに含まれる複数の画像フレームの各々における前記競技者を囲む領域の一部分を任意にマスクしたマスク映像データと、前記映像データに記録された前記競技者の競技に対する評価値である真値スコアに対して前記マスクした領域の割合に応じた重み付けをしたマスクスコアとの関係を示す学習モデルデータと、前記映像データとに基づいて、前記映像データに対応する推定スコアを算出する推定処理部と、を備える推定装置である。
【0017】
本発明の一態様は、コンピュータが実行する学習方法であって、競技者の動作を記録した映像データに含まれる複数の画像フレームの各々における前記競技者を囲む領域の一部分を任意にマスクしたマスク映像データと、前記映像データに記録された前記競技者の競技に対する評価値である真値スコアに対して前記マスクした領域の割合に応じた重み付けをしたマスクスコアとの関係を示す学習モデルデータを生成する学習方法である。
【0018】
本発明の一態様は、コンピュータに、競技者の動作を記録した映像データに含まれる複数の画像フレームの各々における前記競技者を囲む領域の一部分を任意にマスクしたマスク映像データと、前記映像データに記録された前記競技者の競技に対する評価値である真値スコアに対して前記マスクした領域の割合に応じた重み付けをしたマスクスコアとの関係を示す学習モデルデータを生成させる手順、を実行させるための学習プログラムである。
【発明の効果】
【0019】
本発明により、関節情報等の推定が困難な情報を明示的に与えることなく、競技者の動作を記録した映像データから、競技者の動作に汎化した学習モデルデータを生成することが可能になる。
【図面の簡単な説明】
【0020】
【
図1】本発明の実施形態による学習装置の構成を示すブロック図である。
【
図2】本実施形態における画像フレームの一例を示す図である。
【
図3】本実施形態の学習用データ生成部の処理の流れを示すフローチャートである。
【
図4】本実施形態の画像フレームと競技者領域特定データが示す領域とマスク領域との関係を示す図である。
【
図5】本実施形態の画像フレームのマスク領域にマスク処理を行った状態を示す図である。
【
図6】本実施形態の学習処理部の処理の流れを示すフローチャートである。
【
図7】本実施形態の学習処理部が備える関数近似器の一例と当該関数近似器に与えられるデータを示す図である。
【
図8】本実施形態の推定装置の構成を示すブロック図である。
【
図9】本実施形態の推定装置の処理の流れを示すフローチャートである。
【
図10】非特許文献1に記載の技術における学習装置と推定装置の構成を示すブロック図である。
【
図11】非特許文献1に記載の技術に対して行った実験の概要とその結果を示す図である。
【発明を実施するための形態】
【0021】
(学習装置の構成)
以下、本発明の実施形態について図面を参照して説明する。
図1は、本発明の実施形態による学習装置1の構成を示すブロック図である。学習装置1は、入力部11、学習用データ生成部12、学習処理部13、及び学習モデルデータ記憶部14を備える。
【0022】
入力部11は、競技者が行う動作の中で採点の評価の対象となる一連の動作を背景と共に記録した映像データを取り込む。例えば、競技者が、水泳の高飛び込みの選手である場合、映像データには、競技者が、飛び込み台に立ち、ジャンプして、ひねりや回転などの動作をして、プールへの入水が完了するまでの動作が記録されることになる。入力部11は、映像データの各々に含まれる複数の画像フレームの各々において競技者が表示されている領域を矩形形状で囲んだ領域の位置を示す競技者領域特定データを取り込む。
【0023】
例えば、
図2は、水泳の高飛び込みの競技を記録した映像データに含まれる1つの画像フレーム41を示す図であり、競技者の画像71の全体を囲む点線で示す矩形の領域51が、競技者領域特定データが示す領域になる。競技者領域特定データは、画像フレーム41の各画素の位置が、例えば、左上の角を原点としたXY座標で示される場合、矩形形状の4つ頂点のXY座標を含むデータである。
【0024】
競技者領域特定データは、例えば、下記の参考文献に示す技術によって映像データに含まれる画像フレームの各々から自動的に生成してもよいし、映像データに含まれる全ての画像フレームを目視で確認しながら手動で生成してもよい。
【0025】
[参考文献:Kaiming He, Georgia Gkioxari, Piotr Dollar and Ross Girshick, “Mask R-CNN”, In ICCV, 2017]
【0026】
入力部11は、映像データに記録される競技者の動作に対する評価値である真値スコアを取り込む。真値スコアは、例えば、映像データに記録される競技者の動作に対して、映像データが記録された際に実際に審判員が採点した点数である。
【0027】
入力部11は、複数の映像データを取り込むため、1つの映像データごとに、当該映像データに含まれる画像フレームごとの複数の競技者領域特定データと、1つの真値スコアを取り込むことになる。なお、真値スコアは、映像データに関連付けられており、複数の競技者領域特定データの各々は、映像データに含まれる複数の画像フレームの各々に関連付けられている。
【0028】
学習用データ生成部12は、入力部11が出力する映像データと、映像データに対応する競技者領域特定データとに基づいて、映像データに含まれる複数の画像フレームの各々において、各々に対応する競技者領域特定データが示す領域の一部分を任意にマスクしたマスク映像データを映像データごとに生成する。学習用データ生成部12は、入力部11が出力する映像データに対応する真値スコアに対してマスクした領域の割合に応じて重み付けをしたマスクスコアを映像データごとに生成する。
【0029】
学習処理部13は、マスク映像データと、当該マスク映像データに対応するマスクスコアとの関係を示す学習モデルデータを生成する。より詳細には、学習処理部13は、関数近似器を有しており、学習モデルデータ記憶部14が記憶する関数近似器の係数を読み出し、読み出した係数を関数近似器に適用する。学習処理部13は、マスク映像データを関数近似器に与えることにより出力値として得られる推定スコアが、当該マスク映像データに対応するマスクスコアに近づくように学習処理を行うことにより関数近似器の係数を更新する。ここで、関数近似器は、例えばDNNである。係数とは、DNNに含まれる複数のニューロンの各々に適用される重みやバイアスである。
【0030】
学習モデルデータ記憶部14は、初期状態において、学習処理部13の関数近似器に適用される係数の初期値を予め記憶する。学習モデルデータ記憶部14が記憶する係数は、学習処理部13が学習処理により新たな係数を算出するごとに、学習処理部13によって新たな係数に書き替えられる。
【0031】
(学習用データ生成部による処理)
図3は、学習用データ生成部12が行うマスク映像データとマスクスコアを生成する処理の流れを示すフローチャートである。学習用データ生成部12は、入力部11が出力する複数の映像データと、複数の映像データの各々に対応する競技者領域特定データ及び真値スコアとを取り込む(ステップSa1)。
【0032】
学習用データ生成部12は、複数の映像データの各々に対して、ステップSa2~Sa8の処理を繰り返し行う(ループLa1s~La1e)。学習用データ生成部12は、マスクする領域(以下「マスク領域」という。)の割合を示す所定の割合(λ)を0~1の間の値からランダムに選択する。例えば、学習用データ生成部12は、0~1の間の各値が同確率で出現する一様分布に基づいて、所定の割合(λ)を選択する(ステップSa2)。
【0033】
学習用データ生成部12は、処理対象の映像データに対応する真値スコアと、選択した所定の割合(λ)とに基づいて、マスクスコアを算出する。例えば、真値スコアをtscoreとし、マスクスコアをmscoreとした場合、学習用データ生成部12は、次式(1)によりマスクスコアmscoreを算出する(ステップSa3)。
【0034】
mscore=λtscore・・・(1)
【0035】
学習用データ生成部12は、処理対象の映像データに含まれる複数の画像フレームの各々に対して、ステップSa4~Sa8の処理を繰り返し行う(ループLa2s~La2e)。以下、
図4及び
図5を参照しつつ、ステップSa4~Sa8の処理について説明する。
【0036】
図4に示す画像フレーム41が、学習用データ生成部12の処理対象の画像フレームであるとする。学習用データ生成部12は、処理対象の画像フレーム41に対応する競技者領域特定データが示す領域51の縦方向の長さ(H)と、横方向の長さ(W)と、面積(S)とを、競技者領域特定データに含まれる4頂点のXY座標に基づいて算出する(ステップSa4)。
【0037】
学習用データ生成部12は、ステップSa2において選択した所定の割合(λ)と、算出した競技者領域特定データが示す領域51の面積(S)とに基づいて、例えば、次式(2)により、マスク領域の面積(S’)を算出する(ステップSa5)。
【0038】
S’=λS・・・(2)
【0039】
学習用データ生成部12は、マスク領域の面積(S’)になるように、マスク領域の範囲を選択する。具体的は、学習用データ生成部12は、マスク領域の縦方向の長さ(H’)と、横方向の長さ(W’)とを選択する。例えば、学習用データ生成部12は、マスク領域の横方向の長さ(W’)を次式(3)の範囲内からランダムに選択する。
【0040】
S’/H≦W’≦W・・・(3)
【0041】
学習用データ生成部12は、選択した横方向の長さ(W’)と、マスク領域の面積(S’)とに基づいて、マスク領域の縦方向の長さ(H’)を次式(4)により算出する。
【0042】
H’=S’/W’・・・(4)
【0043】
なお、上記のように、マスク領域の横方向の長さ(W’)を先に選択するのではなく、マスク領域の縦方向の長さ(H’)を先に選択するようにしてもよい。その場合、例えば、学習用データ生成部12は、マスク領域の縦方向の長さ(H’)を次式(5)の範囲内からランダムに選択する。
【0044】
S’/W≦H’≦H・・・(5)
【0045】
学習用データ生成部12は、選択した縦方向の長さ(H’)と、マスク領域の面積(S’)とに基づいて、マスク領域の横方向の長さ(W’)を次式(6)により算出する。
【0046】
W’=S’/H’・・・(6)
【0047】
式(3)または式(5)の範囲から選択するようにしているのは、マスク領域の範囲が、競技者領域特定データが示す領域51の範囲内に収まるようにするためである。式(3)の範囲から横方向の長さ(W’)をランダムに選択する際、及び、式(5)の範囲から縦方向の長さ(H’)をランダムに選択する際、例えば、学習用データ生成部12は、一様分布に基づいてランダムに選択する(ステップSa6)。
【0048】
学習用データ生成部12は、マスク領域の縦方向の長さ(H’)及び横方向の長さ(W’)を考慮して、マスク領域の全体が、競技者領域特定データが示す領域51に収まる範囲内でマスク領域の位置をランダムに選択する。
【0049】
画像フレーム41の各画素の位置が、例えば、左上の角を原点としたXY座標で示されており、右方向がX座標が増加する方向であり、下方向がY座標が増加する方向であるとする。競技者領域特定データが示す領域51の左上の座標が(X1,Y1)であるとする。この場合、学習用データ生成部12は、例えば、マスク領域の左上のX座標をX1~X1+(W-W’)の範囲から一様分布に基づいてランダムに選択し、マスク領域の左上のY座標をY1~Y1+(H-H’)の範囲から一様分布に基づいてランダムに選択する(ステップSa7)。
【0050】
図4には、1つの画像フレーム41における競技者領域特定データが示す領域51に対して、ランダムに選択された4つのマスク領域61,62,63,64の例を示している。なお、学習用データ生成部12は、1つの画像フレームに対してランダムに1つのマスク領域を選択するため、マスク領域61,62,63,64のいずれか1つが、画像フレーム41のマスク領域として選択されることになる。
図4に示すように、4つのマスク領域61,62,63,64のいずれもが、競技者領域特定データが示す領域51の範囲内に収まる位置に配置されている。
【0051】
学習用データ生成部12は、マスク領域を塗りつぶす色を選択する。例えば、学習用データ生成部12は、処理対象の画像フレームの平均色を、マスク領域を塗りつぶす色として選択する。学習用データ生成部12は、処理対象の画像フレームのマスク領域の範囲を、選択した色で塗りつぶすことによりマスク処理を行う(ステップSa7)。
【0052】
図5(a)~(d)は、それぞれ
図4に示したマスク領域61,62,63,64が、画像フレーム41に適用されて、マスク領域61,62,63,64の範囲が、画像フレーム41の平均色で塗りつぶされた例を示している。これにより、画像フレーム41における競技者領域特定データが示す領域51の一部分が任意にマスクされることになる。
【0053】
学習用データ生成部12は、処理対象の映像データに含まれる画像フレームの各々に対して、ステップSa4~Sa8の処理を行うことにより(ループLa2e)、処理対象の映像データの全ての画像フレームにおいてマスク処理が行われたマスク映像データを生成する。学習用データ生成部12は、生成したマスク映像データに、ステップSa3で算出したマスクスコアmscoreを関連付けて学習処理部13に出力する(ステップSa9)。
【0054】
例えば、学習用データ生成部12が生成したマスク映像データに含まれる複数の画像フレームを時系列順に最初から表示すると、マスク領域の範囲や位置によっては、競技者の画像の全体が見える場合もあるが、主として、競技者の画像の一部がランダムにマスクで隠された状態で表示されることになる。
【0055】
学習用データ生成部12は、全ての映像データに対して、ステップSa2~Sa8の処理を繰り返し行う(ループLa1e)。これにより、学習用データ生成部12は、複数の映像データと、複数の映像データの各々に対応する競技者領域特定データ、及び真値スコアとに基づいて、学習処理部13が学習処理に利用する学習用のデータとして、複数のマスク映像データと、マスク映像データの各々に関連付けられた複数のマスクスコアmscoreとを生成することができる。
【0056】
なお、上記のステップSa2では、学習用データ生成部12は、一様分布に基づいて、0~1の間の値から所定の割合(λ)を選択するようにしているが、一様分布以外の他の分布に基づいて所定の割合(λ)を選択してもよい。例えば、学習用データ生成部12は、0.0,0.25,0.5,0.75,1.0のような5つの値に限定して、5つの値のいずれかを所定の割合(λ)としてランダムに選択してもよく、選択する範囲、すなわち0~1の範囲を0.25以外の任意の刻み幅で刻むことにより特定される複数の固定値の中からランダムに選択した値を所定の割合(λ)としてもよい。
【0057】
上記のステップSa6では、学習用データ生成部12は、一様分布に基づいて、マスク領域の横方向の長さ(W’)、または、縦方向の長さ(H’)をランダムに選択するようにしているが、一様分布以外の他の分布に基づいてランダムに選択するようにしてもよい。所定の割合(λ)の選択と同様に、選択する範囲を任意の刻み幅で刻むことにより特定される複数の固定値の中からランダムに選択した値を横方向の長さ(W’)、または、縦方向の長さ(H’)としてもよい。
【0058】
上記のステップSa7では、学習用データ生成部12は、一様分布に基づいて、マスク領域の位置をランダムに選択するようにしているが、一様分布以外の他の分布に基づいてランダムに選択するようにしてもよい。所定の割合(λ)の選択と同様に、選択する範囲を任意の刻み幅で刻むことにより特定される複数の固定値の中からランダムに選択した値をマスク領域の位置としてもよい。
【0059】
上記のステップSa3では、学習用データ生成部12は、式(1)により、マスクスコアmscoreを算出するようにしているが、その他の関数、例えば、シグモイド関数などの可変のパラメータにλを適用して真値スコアtscoreからマスクスコアmscoreを算出するようにしてもよい。
【0060】
上記のステップSa8では、学習用データ生成部12は、処理対象の画像フレームの平均色を、当該画像フレームに対応するマスク領域を塗りつぶす色として選択しているが、本発明の構成は、当該実施の形態に限られない。学習用データ生成部12は、処理対象の映像データに含まれる全ての画像フレームの平均色を、当該映像データに対応する全てのマスク領域を塗りつぶす色として選択してもよい。学習用データ生成部12は、任意に定める色で全てのマスク領域を同じ色で塗りつぶしてマスク処理を行うようにしてもよい。なお、マスク領域の色は、目立たないようにした方がよいため、画像フレームごとの全体の色合いに応じて、目立たない色が選択する必要があり、その点では、背景に溶け込んで目立たない色合いになる画像フレームごとの平均色を選択するのが最も効果的であると考えられる。
【0061】
(学習処理部による処理)
図6は、学習処理部13が行う学習処理の流れを示すフローチャートである。学習処理部13は、内部に備える関数近似器の係数が充分に収束するのに必要な学習ステップ回数の上限値を予め内部の記憶領域に記憶させる。学習モデルデータ記憶部14は、学習処理部13が備える関数近似器に適用される係数の初期値を予め記憶する。
【0062】
学習処理部13は、学習用データ生成部12が出力する複数のマスク映像データと、複数のマスク映像データの各々に関連付けられている複数のマスクスコアmscoreとを取り込む。学習処理部13は、取り込んだ複数のマスク映像データと、複数のマスクスコアmscoreとの組み合わせの各々に処理の順番を示す番号を付与して内部の記憶領域に書き込んで記憶させる(ステップSb1)。学習処理部13は、内部の記憶領域に学習ステップ回数を示す変数n(以下「学習ステップ回数n」という。)を記憶する領域を生成し、生成した領域に「1」を書き込む(ステップSb2)。
【0063】
学習処理部13は、学習モデルデータ記憶部14が記憶する係数を読み出し、読み出した係数を関数近似器に適用する(ステップSb3)。学習処理部13は、内部の記憶領域から最初の処理順のマスク映像データと、マスクスコアmscoreとを読み出す。学習処理部13は、読み出したマスク映像データを入力データとして関数近似器に与える(ステップSb4)。
【0064】
学習処理部13は、関数近似器の出力値である推定スコア(以下「推定スコアyscore」という。)と、ステップSb4において読み出したマスクスコアmscoreの誤差を算出する(ステップSb5)。学習処理部13は、算出した誤差に損失関数を適用して損失を算出する。学習処理部13は、算出した損失を小さくするように、例えば、誤差逆伝搬法などの手法により関数近似器の新たな係数を算出する。学習処理部13は、算出した新たな係数を学習モデルデータ記憶部14に書き込んで係数を更新する(ステップSb6)。
【0065】
なお、損失関数としては、推定スコアyscoreと、マスクスコアmscoreのL1距離(マンハッタン距離)を算出する関数を用いてもよいし、推定スコアyscoreと、マスクスコアmscoreのL2距離(ユークリッド距離)を算出する関数を用いてもよいし、L1距離とL2距離の合計を算出する関数を用いてもよい。
【0066】
学習処理部13は、内部の記憶領域から学習ステップ回数nを読み出し、読み出した学習ステップ回数nが、内部の記憶領域が記憶する上限値に一致するか否かを判定する(ステップSb7)。学習処理部13は、読み出した学習ステップ回数nが、上限値に一致していないと判定した場合(ステップSb7、No)、読み出した学習ステップ回数nに1を加算する。学習処理部13は、加算値であるn+1の値を新たな学習ステップ回数nとして、内部の記憶領域の学習ステップ回数nの領域に書き込み(ステップSb8)、再びステップSb3以降の処理を行う。
【0067】
次のステップSb3の処理において、学習処理部13は、学習モデルデータ記憶部14からステップSb6において更新された係数を読み出し、読み出した係数を関数近似器に適用する。次のステップSb4において、学習処理部13は、次の処理順のマスク映像データと、マスクスコアmscoreとを読み出し、読み出したマスク映像データを関数近似器に与える。なお、ステップSb3~Sb6の処理を繰り返し行う間に、学習処理部13は、全てのマスク映像データと、マスクスコアmscoreとの組み合わせに対してステップSb4~Sb6の処理を行った場合、順番を最初に戻して、最初の処理順のマスク映像データと、マスクスコアmscoreとの組み合わせから順に読み出してステップSb4~Sb6の処理を行う。
【0068】
一方、学習処理部13は、読み出した学習ステップ回数nが、上限値に一致していると判定した場合(ステップSb7、Yes)、処理を終了する。これにより、学習モデルデータ記憶部14には、充分に収束した学習済みの係数が記憶されることになり、この学習済みの係数が、学習済みの学習モデルを示す学習モデルデータとなる。
【0069】
なお、
図6では、マスク映像データと、マスクスコアm
scoreとの組み合わせごとに関数近似器の係数を更新するオンライン学習の手法を示しているが、予め定められる数のマスク映像データと、マスクスコアm
scoreとの組み合わせごとに関数近似器の係数を更新するミニバッチ学習を行ってもよいし、全てのマスク映像データと、マスクスコアm
scoreとの組み合わせごとに関数近似器の係数を更新するバッチ学習を行うようにしてもよい。
【0070】
図7は、学習処理部13が備える関数近似器の一例である関数近似器30におけるDNNの構成を示す図である。学習処理部13は、マスク映像データを取り込むと、例えば、マスク映像データを96フレームにリサンプリングし、96フレームを16フレームごとに分割して6個の分割マスク映像データを生成する。関数近似器30は、3次元畳み込みネットワーク層31-1~31-6と、平均部32と、スコア回帰ネットワーク層33とを備える。3次元畳み込みネットワーク層31-1~31-6の各々は、6個に分割された分割マスク映像データの各々を取り込む。3次元畳み込みネットワーク層31-1~31-6の各々は、各々が取り込んだ分割マスク映像データから特徴抽出を行い、各々が取り込んだ分割マスク映像データの特徴量を出力する
【0071】
平均部32は、3次元畳み込みネットワーク層31-1~31-6の各々が出力する分割マスク映像データの特徴量を平均して出力する。スコア回帰ネットワーク層33は、平均部32が出力する分割マスク映像データの特徴量の平均と、マスク映像データに対応するマスクスコアmscoreとに基づいて回帰分析を行い、分割マスク映像データの特徴量の平均と、マスクスコアmscoreとの関係性を抽出する。学習処理部13による学習処理が繰り返し行われることにより、3次元畳み込みネットワーク層31-1~31-6による特徴抽出、及びスコア回帰ネットワーク層33による回帰分析の精度が高められていくことになる。なお、3次元畳み込みネットワーク層31-1~31-6、及びスコア回帰ネットワーク層33には、学習モデルデータ記憶部14が記憶する係数が適用される。3次元畳み込みネットワーク層31-1~31-6の各々には、共有する係数、すなわち同一の係数が適用される。
【0072】
(推定装置の構成)
図8は、本発明の実施形態による推定装置2の構成を示すブロック図である。推定装置2は、入力部21、推定処理部22、及び学習モデルデータ記憶部23を備える。学習モデルデータ記憶部23は、学習装置1の学習モデルデータ記憶部14が記憶する学習済みの係数、すなわち学習済みの学習モデルデータを予め記憶する。入力部21は、任意の映像データ、すなわち任意の競技者が行う一連の動作を背景と共に記録した映像データを取り込む。
【0073】
推定処理部22は、入力部21が取り込んだ任意の映像データと、学習モデルデータ記憶部23が記憶する学習済みの学習モデルデータとに基づいて、映像データに対応する推定スコアを算出する。なお、推定処理部22は、学習処理部13と同一の構成の関数近似器を備えている。
【0074】
(推定装置による処理)
図9は、推定装置2による処理の流れを示すフローチャートである。入力部21は、任意の映像データを取り込み、取り込んだ映像データを推定処理部22に出力する(ステップSc1)。推定処理部22は、入力部21が出力する映像データを取り込む。推定処理部22は、学習モデルデータ記憶部23から学習済みの学習モデルデータ、すなわち学習済みの係数を読み出し、読み出した学習済みの係数を関数近似器に適用する(ステップSc2)。
【0075】
推定処理部22は、取り込んだ映像データを入力データとして関数近似器に与える(ステップSc3)。推定処理部22は、関数近似器の出力値を、映像データに対する推定スコアとして出力する(ステップSc4)。
【0076】
上記の実施形態の学習装置1において、入力部11は、映像データと、映像データに含まれる複数の画像フレームの各々における競技者を囲む領域を特定する競技者領域特定データと、映像データに記録された競技者の競技に対する評価値である真値スコアとを取り込む。学習用データ生成部12は、映像データに含まれる複数の画像フレームの各々において、各々の画像フレームに対応する競技者領域特定データが示す領域の任意の位置の一部分の領域であって映像データごとに任意に定める所定の割合の大きさの領域をマスクしてマスク映像データを生成し、映像データごとの真値スコアに対して、当該映像データに対応する所定の割合に応じた重み付けをしてマスクスコアを生成する。学習処理部13は、映像データに対応するマスク映像データと、映像データに対応するマスクスコアとの関係を示す学習モデルデータを生成する。これにより、学習用データ生成部12が生成したマスク映像データに含まれる複数の画像フレームの中のいくつかの画像フレームにおいて、競技者の画像の一部がランダムにマスクで隠された状態になる。そのため、学習処理部13が行う学習処理において、競技者の動作に関する映像データの中の特徴を抽出するように促進される。それにより、関節情報等の推定が困難な情報を明示的に与えることなく、上記の実験結果が示すように、競技者の動作を記録した映像データから、競技者の動作に汎化した学習モデルデータを生成することが可能になる。
【0077】
なお、上記の実施形態では、競技者領域特定データが示す領域に1人の競技者が含まれる例を示しているが、競技者領域特定データが示す領域に、複数の競技者が含まれていてもよい。
【0078】
なお、上記の実施形態では、競技者領域特定データが示す領域の形状を矩形形状にしているが、矩形形状に限られるものではなく、矩形形状以外の形状であってもよい。
【0079】
上記の実施形態では、真値スコアは、実際に審判が採点した点数であるとしているが、実際の競技で採用されている定量的な採点基準以外の基準によって採点された点数であってもよい。
【0080】
上記の実施形態の学習装置1の学習処理部13と、推定装置2が備える推定処理部22が備える関数近似器は、例えば、DNNであり、一例として、
図7に示す構成を示しているが、DNN以外のニューラルネットワークや、機械学習による手段が適用されてもよい。
【0081】
学習装置1と推定装置2とは、一体化されて構成されてもよい。このように構成される場合、学習装置1と推定装置2とが一体化された装置は、学習モードと推定モードとを有する。学習モードは、学習装置1による学習処理を行って学習済みの学習モデルを生成するモードである。すなわち、学習モードでは、学習装置1と推定装置2とが一体化された装置は、
図6に示す処理を実行する。推定モードは、学習済みモデルを用いて推定スコアを出力するモードである。すなわち、推定モードでは、学習装置1と推定装置2とが一体化された装置は、
図9に示す処理を実行する。
【0082】
上述した実施形態における学習装置1、及び推定装置2をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0083】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0084】
スポーツ競技における競技の採点に利用することができる。
【符号の説明】
【0085】
1…学習装置、11…入力部、12…学習用データ生成部、13…学習処理部、14…学習モデルデータ記憶部