SE_BOKUのまとめノート的ブログ

SE_BOKUが知ってること・勉強したこと・考えたことetc

富士通の体操の採点支援システムに興味がわいたので調べてみた

f:id:arakan_no_boku:20191124221400p:plain

 

体操の採点基準は素人には絶対わからないと思う

スポーツとコンピュータシステムの話題です。

富士通さんが開発して、国際体操連盟に採用された「体操自動採点システム」にちょっと興味があって調べてみました。

 

体操競技を見ていると、「なんで、この人の得点が、さっきの人より高いの?」みたいに、見た印象と実際の得点あわなくて、不思議に感じることが多々あります。

ちょっとモヤっとするので、体操の採点方法について説明されている以下のような記事を見つけると、予備知識を仕入れようと考えたりするのですが・・・。

www.nikkansports.com

例えば。

上体が前に倒れ、何とかこらえています。

これは足が止まって0・3点の減点。実はピタッと止まるより、小さく1歩踏み出した着地の方が0・1と減点幅は小さく、止めれば高得点ではなくなっています。

04年アテネ五輪団体決勝、「栄光の架橋」の実況で知られる冨田の前体重でこらえた着地も、いまの厳密な規則であれば減点されてしまいます。

 とか。

両足の間隔が広すぎてかかとがそろえられない。

これは0・1点の減点です。

少し前なら間隔の開きを足を少し浮かして調整し、かかとをそろえれば減点なしもあり得ましたが、いまは厳しく採点されます。

などの説明を読んでも、「実際に演技を見て、こんなもんわかるか!」とギブアップするしかないです。 

そんなでしたから、このプレスリリースには興味がわきました。

pr.fujitsu.com

体操の採点支援システムです。 

 

どういう仕掛けで実現しているのだろう?

 

体操の自動採点をどうやっているのか、可能な範囲で調べてみました。

 

採点のための「技の辞書」作りの工夫とか

 

ざっとしたイメージとしては。

人体を「18関節骨格モデル」(人体モデル)で表現します。

f:id:arakan_no_boku:20191128235456p:plain

そして。

その間節間の角度なんかも数値化し、姿勢の時系列変化を学習させることで「技の辞書」を作ります。

さらに、「まっすぐ」とか「わずかにまがる」ような人間な感覚を、「角度Aが170度を超過、かつ、角度Bが170度を超過」みたいに、判定ポイントをデジタル化して、ルールベースを作ってやる。

あとは。

体操の演技姿勢中の関節部とかをセンサーでとらえて、人体モデルにおとす。

それを時系列にとらえて、「技の辞書」とつきあわせて技を識別して「Dスコア判定」などを行う。

同時に各関節の角度などの情報を元に、ルールベースの減点基準を参照して、姿勢や腕・脚のまがりなどを減点判定して「Eスコア」を出す。

最後に。

それらを集計して自動採点結果をだす。

とまあ、こんな感じらしいです。

その中で

  • 技の辞書が、新しい技が追加された時に最小限のデータ追加で対応できるよう、各技に共通する動きである「基本運動」を特定し、それにもとづいて「基本技」を認識してから、採点対象となる技を判断する構成にしているとか。
  • 単純に既存の骨格認識技術だけだと誤認識が多発するので、CNN系のDeeplearngで学習した予測モデルと、計測で求めた各座標群と人体モデルとの「尤度(もっともらしさを表す数値)が高くなるように最適化計算する方法(フィッティングと書かれてました)とを組み合わせたハイブリッド方式をとっているとか。
  • 技の判定でも、体操は技が連続して繰り出されるので、骨格座標の時系列データから「技の切れ目」を認識して、各技の塊を分割して切り出せないといけないとか。

様々な工夫がされています。

 

マーカーなしで人体モデルをスキャンできる技術とか

 

さらに、凄いのが「マーカーなしに関節点を認識している」ということ。

モーションキャプチャーじゃない!のです。

モーションキャプチャーという技術はお馴染みです。

身体に30個くらいのマーカーをつけて、何台ものカメラでスキャンして骨格モデルを取得するってのは、テレビなんかでもよく見ます。

f:id:arakan_no_boku:20191129200203p:plain

モーションキャプチャ - Wikipedia

でも、それは使えない。

なぜなら、体操競技をする選手にマーカーなんかつけさせられませんから。

さらに難しいのが、演技をしているところを囲むみたいにカメラを配置することもできません。

演技に影響を与えてしまいますから。

どうやってるのか?

以下の記事で富士通さん自身が説明してくれています。

www.fujitsu.com 

一言でいえば。

マーカーなしで、しかも、観客席レベルの遠くから撮影した映像から人体モデルをスキャンする技術を開発したとのこと。

f:id:arakan_no_boku:20191129200658p:plain

詳しいところは、上記のリンクの富士通さんの説明を見てもらえばよいのですが、素直にすごいです。

はい。

 

ものすごいスピードで展開する技をとらえる処理スピードとか

 

あと。

処理速度も気になります。

たくさんの技が連続して繰り出される体操です。

しかも、審判員が採点をするタイミングで自動採点結果をださないといけません。

かなり高速処理が求められます。

でも、やってる処理は重たいことをやってます。

人体モデルにフィッティングするのに最適化計算とかしながら、、高速で動いている体操選手の各局面・局面の姿勢を追いかける処理を高速に処理するのは簡単ではないはずですが、それを「従来技術の良いとこどり」で実現するアプローチは参考になります。

こんな図がのっているのですが。

f:id:arakan_no_boku:20191129201614p:plain

おおざっぱだけども速い(DeepLearningの推論結果)と、正確だけども遅い(各点と人体モデルとの最適な一致点を計算で求めるやりかた)方式との良いとこ取り。

大変だったでしょうね。

こういう落としどころを見つけるって、結構、地味なトライ&エラーの繰り返しを根気よく続けなければならなかったでしょうから。。

 

まとめです

 

日経新聞で記事を見て、「体操の自動採点」という1点にひっかかって調べ始めたのですけど、なかなか面白かったです。

もちろん。

詳細な技術情報はシークレットで、本当にアウトラインをちょこっとだけ、富士通の方が断片的に出してくださってるのを、読みつなげただけですが、それでも、相当に高度なことを、かつ、根気強くされたんだろうなってはわかります。

考え方の勉強になりましたし、自分的には「よかった。よかった。」って感じです。

今回はこんなところで。

ではでは。