会誌「情報処理」Vol.61 No.11 (Nov. 2020)「デジタルプラクティスコーナー」

単一慣性センサを用いた競泳指導サポートシステム

髙橋 弘毅1  大前 佑斗2  酒井 一樹3  秋月 拓磨4  塩野谷 明5

1東京都市大学  2日本大学  3長岡工業高等専門学校  4豊橋技術科学大学  5長岡技術科学大学 

我々は,特に初級から中級競泳選手の競技力向上を目指して,3軸加速度・角速度を測定可能な防水の単一小型慣性センサを用いた安価,かつ,手軽に使用可能な競泳指導サポートシステムの開発を進めている.本稿では,競泳指導サポートシステムの構想やシステム構築に必要な手法についてレビューする.また,プロトタイプシステムを作成し,その可視性,有効性,信頼性を評価するアンケート調査の結果やそこから見えてきたトレーニング現場で使用する際の課題についてもレビューする.

1.研究・開発背景

競泳は,我が国の代表選手が国際競技大会においてメダル獲得が期待されている競技である[1].国際競技大会でさらなるメダル獲得をめざすためには,トップ選手である上級者の競技力向上が重要である一方,小・中学校や高等学校,大学などのクラブや地域スポーツクラブで活躍する初級者・中級者(日本水泳連盟の定める資格級のB級程度[2])の裾野を拡げ,さらには上級者まで育成し国内におけるトップ選手層を増強することも重要である.

競泳の指導方法はコーチによる指導が一般的である.具体的には,トレーニングを行う選手に対し,コーチがストローク,ターンといった動作(以下,泳動作とする)のパフォーマンスを評価・改善することで競技力の向上が目指されてきた.特に,1つ1つの泳動作を精緻に分析し,その動作を改善していくことは初級者・中級者のトレーニングの中で重要であり,かつ,求められている.しかし,競泳においては,水中にいる選手の泳動作を目視によって精緻に分析し,アドバイスを行うことはコーチへの負荷が大きく,これを複数の選手に対して同時に行うことは難しい.そのため,初級者・中級者の選手が自からまたはコーチとともに,細かな泳動作を,トレーニングの競技中や競技後,トレーニング終了後の日/週/月といった長期的な間隔で,把握・評価できるシステムを構築することが必要とされている.

近年,モーションキャプチャや水中カメラのような大規模な装置を用いての指導が行われている.たとえば,モーションキャプチャでは,多数のマーカを体に取り付けるため,選手自身のフォームを可視化し改善できる一方で,普段とおりのパフォーマンスを発揮しづらいといった点も指摘されている.また,大規模な装置は高価であり,その準備に手間がかかる.国内における一部のトップ選手層の選手が,このような大規模な装置を用いてトレーニングをすることが可能になりつつある.一方で,それ以外の選手が,いつでも手軽に使用することはできない現状にある.

この問題に対し,さまざまな分野での適用が試みられている(たとえば[3],[4]など)ウェアラブル慣性センサ(以下,慣性センサとする)を用いる方法が考えられる.無線慣性センサを競技者に装着し競技を行うことにより,競技者の個人的な特徴を内包する3軸加速度・角速度(以下,センサデータとする)を得ることが可能となる.一方で,得られるデータは膨大となるため,それを直接表示することは情報過多の観点から望ましいとはいえない.そこで,競技者から得られるセンサデータを視覚的に要約し,コーチまたは競技者にフィードバックすることができれば,指導サポート(セルフコーチング含む)に役立てることができる.

以上のような背景から,我々は,近年小型化が進み,かつ比較的安価となっている防水の慣性センサを腰部背面に1つ装着するだけで使用でき,使用者が感じる違和感をできるだけ低減し,初級から中級の選手でも手軽に使用可能な競泳指導サポートシステムを提案し開発を進めている[5].

本稿では,競泳指導サポートシステムの概要と実現するために必要な手法についてレビューをする.また,プロトタイプシステムの構築とその評価についてもレビューする.

まず,第2章では,先行研究について,第3章では,競泳指導サポートシステムの概要とそれを実現するための課題についてまとめる.第4章では,データ取得実験の概要とデータの前処理について述べ,第5章では,競泳指導サポートシステムの課題を解決するための手法,および,その評価について概説する.第6章では,第5章の成果を組込み作成したプロトタイプシステムの構築とその評価,見えてきた課題についてレビューをする.本稿のまとめと今後の課題について第7章で述べる.

2.先行研究

競泳の競技者に慣性センサを装着し,競技力向上のためのサポートを狙う研究は大きく分けて,泳法判別,泳動作判別,指導情報フィードバックの3つが存在する.

まず,泳法判別について述べる.競技者の腰部背面[6],手首[7],胸部[8]に,単一の慣性センサを装着し,得られる加速度データから,泳法(クロール,バタフライ,背泳ぎ,平泳ぎ)の判別規則を決定木や多層ニューラルネットワークを用いて抽出している.また,慣性センサを後頭部に装着し得られるセンサデータから,線形回帰モデルにより泳法判別器の構築を試みている[9].さらに,センサを搭載したスマートフォンを腕部に装着し得られるセンサデータから,決定木,線形/非線形カーネルを適用したサポートベクターマシンやナイーブベイズを用いて泳法判別器の構築を試みている[10].これらの研究によって,泳法の順序が不定となるトレーニング支援(メドレーなど)への慣性センサを用いたシステムの適用可能性が示されている.一方で,平泳ぎとバタフライの動作が類似しているという点から,いずれの研究においても平泳ぎとバタフライの判別を混同してしまうという課題を抱えている.

次に,泳動作判別について述べる.泳動作判別とは,競泳に対する一連の動作(ストローク,ターンなど)の判別を指す.泳者の後頭部[9]に,腰部背面[11]に慣性センサを装着し,ターンとストロークの判別規則の抽出を試み,ターンとストロークの切り分けを行っている.さらに,手首に装着した慣性センサから取得したセンサデータを用いて,各ストロークを可視化するシステム[12]やストロークの回数を計測する手法[13]を考案している.現在では,スマートウォッチにより,ストローク回数を計測する製品も存在する[14].このように,慣性センサから得られるセンサデータを用いてストロークの解析をしようとする研究が多数存在する.また,ターンの改善に着目し,ターンの開始,体のひねりや回転,壁の蹴りといったターン特有の身体的動作と加速度データの変動を関連付ける研究もされている[15].しかし,具体的な支援は行われていない.これらの研究によって,ストロークやターンといった泳動作単位の競技力向上に対するサポートへの慣性センサの適用可能性が示唆されている.一方で,競泳は数秒を競う競技であることから,パフォーマンス評価はより正確に行うことが望ましいことも複数言及されている.

指導情報フィードバックについては,たとえば,多数の慣性センサを身体中に装着し競泳のパフォーマンスを評価し,ゴーグルに取り付けられたLEDにより評価結果を競技者へとフィードバックするシステム[16][17],ビデオカメラと慣性センサを併用したトレーニング支援システム[18]などが挙げられる.

以上のように,慣性センサを利用して競泳指導をサポートしようとする研究は多数行われている.その一方で,ビデオカメラの併用や多数のセンサの利用といったコストの高いものや,サポート情報のフィードバックにまで至っていない研究もこれらとは別に多く存在する.

先行研究により得られた知見を組み合わせ,また,挙げられている課題を解決することにより,競泳指導をサポートシステムの実現ができるものと考えられる.そのため,関連研究で得られた知見を踏襲し,3章では,単一慣性センサを用いた競泳指導サポートシステムの構想,および,その達成のために必要な課題について述べる.

3.競泳指導サポートシステムの構想概要と課題

本研究で構築を目指すサポートシステムでは,1つ1つの泳動作を精緻に分析し,泳動作を改善していくことが初級者・中級者のトレーニングの中で重要であり求められていることから,特定のタイミングで,ストローク,ターンといった各泳動作の評価結果をフィードバックすることを目指している(図1).図1左側はデータを蓄積する入力フェーズ,図1右側はデータを解析しフィードバックを行う出力フェーズとなる.

競泳指導サポートシステムの概要図
図1 競泳指導サポートシステムの概要図

本研究の目的は,安価にかつ競技者が感じる違和感をできるだけ低減し,泳動作の評価結果をフィードバックするシステムの構築である.競技者からのヒアリングでは,上級者,初級者・中級者,すべてにおいて「複数センサを装着し泳動作行うと違和感がある」という意見が多くあった.そのため,慣性センサの使用個数は1つとし,防水型9軸ワイヤレスモーションセンサ(重さ20g,大きさ67mm×26mm×8mm)を使用する.このセンサは,サンプリングレート100Hzで,加速度(±5G),角速度(±1500dps)データを取得可能であり,各要素をセンサ内のメモリ(32MB)に記録することができる.また,無線通信で逐次的にコンピュータに取得データを送信する機能を持つ(より詳細な仕様は[5]を参照).

また,慣性センサの装着位置は,後頭部,ゴーグル,手首,胸部,腰部などが考えられる.一方で,競技者からのヒアリングでは,上級者,初級者・中級者,すべてにおいて「たとえ1つの慣性センサであっても後頭部,ゴーグル,手首,胸部にセンサを装着し泳動作行うと違和感がある」という意見が多くあった.また,腰部は,体幹の重心に相当するため,競技の総合的な情報を包括していると考えられる.泳法判別[6]や泳動作判別[11]への適用事例もあるため,センサの装着位置は腰部背面とした(図1左上).

センサを腰部背面に装着し,競技を行うことによって,逐次的にセンサデータがデータベースに格納される.具体的には,取得される生データおよび,競技者の氏名,日付,泳法,ストローク回数などを紐づけた構造化データの格納を行う.氏名や日付は事前入力,泳法,ストローク回数などは,センサデータからの自動取得を想定している(図1左側).

システムは,(A)リアルタイム(競技中),(B)競技終了直後,(C)トレーニング終了後の3つのタイミングでフィードバックを行う(図1右側).具体的なフィードバック内容は,競泳に対するトレーニングの識者とともに作成をした.

(A)はトレーニングの競技遂行中の競技者への(リアルタイム)フィードバックである.このタイミングでは,飛び込み,ターン,ストロークなど複数ある泳動作のうち,ストローク,ターンを対象とした.中級程度の競技レベルの泳者の場合,ストローク,ターンといった競泳を構成する各泳動作の中から,優れている個所,課題が存在する個所を認識できることが望ましい.ストローク,ターン動作を改善するためには,競技者に適した動作を競技者自身が把握することが重要となる.このためには,微細なストローク,ターン動作の調整が以前のストローク,ターンよりもタイムに寄与したのか,あるいはしていないのかを,競技者自身が判断できる必要がある.たとえば,ストローク動作の微細な調整具合を忘れる前にフィードバックできることが望ましい.そのため,競泳中に1つ前のストローク結果が,2つ前のストロークよりも良かったか,悪かったのかについて逐次的にフィードバックすることにした.

(B)は,1度の競技終了時点でのフィードバックである.泳法の種類,タイム,ストローク・ターンの回数,それぞれのストローク・ターンにおけるタイムなどをフィードバックする.これにより,競技結果に対する基礎的な傾向を把握できるとともに,競技終了後即座に,ストローク,ターンの動作によるタイムがどの程度目標に到達しているか,いないのか,を把握できる.さらに,以前の競技に対する各泳動作のタイムと終了したばかりの競技結果を比較し,フィードバックを行う.遂行したばかりの競技に対する各泳動作が,それよりも1つ前の競技より改善したのか,していないのかについて把握できる.このように,各泳動作の中から改善個所を認識させることによって,泳動作単位の指導サポートを目的としたフィードバックが可能となる.

(C)では,(B)のフィードバックで得られた結果を蓄積し,それを日/週/月といった長期的な間隔で時系列的にフィードバックする.日々のトレーニングの効果を泳動作単位で定量的に把握できる.

図1に示した競泳指導サポートシステムを構築するにあたり必要なセンサデータの処理とその処理のイメージを図2に示す.腰部背面に装着した単一の慣性センサにより取得されたセンサデータをもとに,

  • 課題(1) 4泳法(クロール,バタフライ,背泳ぎ,平泳ぎ)を自動で判別
  • 課題(2) 泳法によって異なる泳動作(ストローク・ターン動作)の判別やその区間の推定,各泳動作の開始タイミングの検出
  • 課題(3) 泳動作の良し悪しの評価(各ストローク・ターンのタイムや回数などの指標への変換)
  • 課題(4) 使用者へのフィードバック方法の検討

という大きく4つの課題を解決をする必要がある.

競泳指導サポートシステムにおけるセンサデータの処理とその処理イメージ
図2 競泳指導サポートシステムにおけるセンサデータの処理とその処理イメージ

第4章以降では,データの取得実験と前処理,機械学習や深層学習を用いて課題(1)から課題(3)を解決する手法について概説し,それらの成果[19],[20],[21],[22],[23]を組込み構築した競泳指導サポートシステムのプロトタイプについて述べ,可視性,有効性,信頼性を評価するアンケート調査を実施した結果[24]についてもレビューする.

なお,本稿では触れないが,課題(4)についても今後検討することが必要である.たとえば,ゴーグルに取り付けられたLEDにより評価結果をリアルタイムに使用者へフィードバックするシステム[16],[17]や試技終了後にタブレット端末を用いたフィードバック方法[19]などの検討が進められている.

4.データ取得実験概要とデータの前処理

泳法判別器や泳動作判別器を構築するためには教師データが,判別器の汎化能力を知るにはテストデータが,それぞれ必要となる.本章では,これらの判別器を構築するために必要となるデータ取得のための実験とデータの前処理について概説する.

4.1 データ取得実験

競泳部に所属する大学生19名(男性16名,女性3名)を被験者とし,データ取得実験を実施した.被験者の年齢は19.5±1.7歳,身長は169.7±7.0cm,体重は64.2±5.6kg,競泳経験は13.1±4.1年であった.実験に使用したプールは短水路(25m)である.データ取得実験は【研究のみにデータを使用すること】を被験者へ文章および口頭で説明をし,同意した競泳部員のみを対象として実施した.

被験者の腰部背面に慣性センサ(第3章参照)を,図3に示す軸設定となるように装着した.ここで,XaccX軸の加速度,XangX軸の角速度を表す.Y,Z軸も同様である.

センサの取付位置と軸の設定.各軸の矢印の方向が正の値となる
図3 センサの取付位置と軸の設定.各軸の矢印の方向が正の値となる

被験者には,4泳法の中から得意な2泳法を選択し,それらの泳法について,飛び込みなし,全力で25mプールを1往復(合計50m)泳ぐように指示した.また,センサデータと泳動作を照合するため,競技中の様子をビデオカメラ(Sony製デジタルHDビデオカメラレコーダーHDR-CX720V,30fps[25])でプールサイドから撮影した.

取得したセンサデータ数は,競技中のセンサの落下や電池切れや動画撮影の不備などにより5試技分が欠損したため,全泳法で33試技であった.そのうち,クロール(k=Fr)が12試技,バタフライ(k=Bu)が11試技,平泳ぎ(k=Br)が5試技,背泳ぎ(k=Ba)が5試技となった.

4.2 競泳中の動作の定義

図4に,センサデータの取得開始から終了までの競泳中の各動作の遷移順序を,表1に,本稿における各動作の定義をまとめている.

競泳中の状態遷移図
図4 競泳中の状態遷移図
表1 競泳中の動作の定義
競泳中の動作の定義

取得したセンサデータと動画を同期させ,動画から動作を確認し,取得したセンサデータすべてに対し1/100sec(1データサンプル点)ごとに表1で定義した動作タグを付与する.

4.3 特徴量への変換

センサデータから何らかの動作を判定する判別器を構築しようとするとき,生のデータをそのまま使用するのではなく,判別しようとする対象の特徴を表現するであろう変数(以下,特徴量とする)に変換することが望ましい.センサデータを用いた身体動作の判別では,身体の平均的な揺れやそのばらつきを表現する特徴量として一定時間内の平均や分散などが使用される[26],[27].本節では,泳法判別と泳動作判別に使用するスライディングウインドウ法と特徴量について説明をする.

4.3.1 スライディングウィンドウ法

センサデータの特徴量への変換過程(スライディングウィンドウ法)[26],[27]のイメージを図5に示す.横軸が時間,縦軸は加速度または角速度である.まず,センサデータにおいて,対象となる動作の開始地点Mからウィンドウ幅w分の範囲で特徴量(4.3.2項参照)を算出する.次に,スライド幅pだけ開始地点Mをスライドさせウィンドウ幅w分のデータ区間で再度特徴量を算出する.この処理を対象データがウィンドウ幅w分保持できるまで繰り返す.なお,ウィンドウ幅wとスライド幅pを設定する必要があるが,これらは判別しようとする動作により適した値が異なる.

スライディングウィンドウ法のイメージ
図5 スライディングウィンドウ法のイメージ
4.3.2 特徴量

本稿で用いる特徴量を表2にまとめる.ここで,Meanは平均値,Varは分散,Skewは歪度,Kurtは尖度,Maxは最大値,Minは最小値,Entは周波数領域エントロピ,Medは中央値を表す.これら8種類を3軸の加速度(Acc),角速度(Ang)について算出し,これらを特徴量αjj=1,…,48) とする.これらの特徴量は,既存研究[8],[9],[10],[19]などの研究を参考にて決定した.なお,角速度は1周期で平均化すると0となるため,角速度の平均値の算出の際は絶対値から平均値を算出する.

表2 特徴量
特徴量

また,特徴量に紐付けられるタグは特徴量の算出に使用したセンサデータ時間中の過半数となる動作タグを採用する.

5.泳法判別,泳動作判別手法とその評価

第3章で述べた競泳指導サポートシステムの構築に必要な泳法判別と泳動作判別(ストローク・ターン動作の判別やそのタイミング,区間の推定)について各々見ていく.

5.1 泳法判別

泳法判別に関する既存研究では,平泳ぎとバタフライ間の混同という課題が存在する.ここでは,その解決法の1つとして,平泳ぎとバタフライの判別に寄与する特徴量を探索し,それを用いて判別器を構築する手法について概説する.また,アンサンブル学習を導入することにより精度の向上を目指す.なお,より詳細なアルゴリズムやその評価については[19]に述べられている.

5.1.1 データ処理と特徴量

実験(4.1節)より得られたセンサデータのうち,本節では,21試技分のデータを利用した.その内訳は,クロール(Fr)8試技,バタフライ(Bu)6試技,平泳ぎ(Br)4試技,背泳ぎ(Ba)3試技であった.教師データとテストデータの間で同1人物が存在しないように配慮しながら,判別器構築用のデータ(教師データ)と,汎化能力検証用のデータ(テストデータ)に分割した.その結果,Frの教師データは5試技,テストデータは3試技,Buの教師データは4試技,テストデータは2試技,Brの教師データは2試技,テストデータは2試技,Baの教師データは2試技,テストデータは1試技となった.

センサデータの特徴量(4.3.2項および表2.ただし,泳法判別にはMedは使用していない)への変換は,スライディングウィンドウ法(4.3.1項)を用いて行う.スライディングウィンドウ法などを用いて,センサデータを一定時間で分割するとき,分割する時間は学習の対象となる動作の1周期分の時間とすることが身体動作を表現する値として妥当性が高い[26].泳動作の中でもストロークは競技中の大半を構成する動作であるが,各泳法で1ストロークの周期が異なる.教師データの動画をもとに各ストロークに要した時間を計測し,この平均値を求めた[19].その結果,泳法ごとのストロークの平均周期は,Frが1.18sec(118サンプル点),Buが1.06sec(106サンプル点),Brが1.14sec(114サンプル点),Baが1.24sec(124サンプル点)となった.一方で,泳法別では,泳法の自動判別を目的としているため,それぞれの泳法に適した周期を使用することは望ましくない.そのため,いずれの泳法にもある程度使用することのできる一意なストローク周期を算出し[19],ウィンドウ幅w=1.08sec(108サンプル点)とスライド幅p=w/2を用いた.

分割した教師データ,テストデータにこれらの処理を施すことで,特徴量に変換された教師データ,および,テストデータを取得した.教師データ,テストデータには,泳法ラベルkk=Fr,Bu,Br,Ba)が付与されている.その結果,教師データのサンプル数は412(内訳:Frは136,Buは126,Brは90,Baは60),テストデータのサンプル数は294(内訳:Frは100,Buは84,Brは72,Baは38)となった.

5.1.2 特徴量の選択とランダムフォレスト

表2に示した全種類の特徴量で判別器を構築した場合,広大な特徴量空間が構成される.これは,汎化能力の観点から望ましいとは言いがたい.何らかの指標により特徴量の重要度を算出し,使用する特徴量を選定することで,特徴量空間の低次元化をする必要がある.

特徴量の重要度を算出する手法はいくつか存在するが,ブートストラップサンプリングとランダムフォレスト法(Random Forest; RF)を応用する手法を使用する.RFを構築する弱学習器群の学習モデルとしては,情報利得をコスト関数とする二分構造の決定木を使用する.

まず,教師データの特徴量Lをブートストラップサンプリングにより,

L = L m s u b O m , L m s u b O m = ϕ , (1)

とする. L m s u b m番目の弱学習器構築に使用するサブ教師データの集合であり,Omm番目の弱学習器構築に使用されなかったOut-of-bag(以下,OOBとする)データの集合である.Omを利用して弱学習器の判別誤差を算出し,以降のパラメータ選択で使用することにより,過学習が抑制された高い汎化能力のモデル構築が期待できる.

次にサブ教師データ L m s u b を用いて,

T r = { T r ( m ) } B m=1 ' (2)

を構築する.ここで,Trm番目の弱学習器Tr(m)を要素とする弱学習器集合である.また,Bは弱学習器の数である.各弱学習器は動作タグが完全に分割されるまで学習を行う.

以上の処理をB個のサブ教師データ集合で行うと,B個の決定木が生成される.したがって,特徴量を与えたときB個の判別結果が生成される.その多数決を取って,最終的な判別結果とする.これをRFと呼ぶ.RFでは学習を進めていく上で,構造が類似した弱学習器を構築しないため,ランダムに選択された特徴量からコスト関数が最適化される特徴量とその分割基準を探索していく.本稿では選択する特徴量の数を特徴量空間の次元の平方根とした[28].

次に,特徴量の重要度について説明をする.弱学習器Tr(m)ををOOBデータOm で精度評価を行った際の誤差(以下,OOB errorとする)を利用し,各特徴量の重要度を算出する.まず,弱学習器Tr(m)をの構築に使用されなかったOOBデータ0mTr(m)をのOOB error Em を算出する.次に,特徴量のうちj番目の特徴量αj をランダム入れ替えた後にOOB error E m j を算出する.ここで,特徴量を入れ替える前後で算出したOOB errorの変動 Δ E m j を,

Δ E m j = E j m - E m , (3)

とする.生成したすべての弱学習器における Δ E m j の平均値 Δ E j とその分散 σ j 2 から重要度Ij を,
I j = Δ E j σ j 2 , (4)

と定める.算出した重要度Ijは特徴量αj の重要度とする.

5.1.3 特徴量の選択の結果

マルチクラスの分類問題の場合には,すべてのクラスを適切に分類できる特徴量を選択することが重要である.そのため,まず,4泳法の判別に重要な特徴量を選出する.その後,既存研究で課題とされていた平泳ぎとバタフライの誤判別という課題を解消するため,この2泳法の判別に特化した特徴量を選出する.

5.1.2項で述べた手法を用いて,4泳法の判別に重要な特徴量を導出する.具体的には,教師データからブートストラップサンプリングにより100個のサブ教師データ集合生成する.さらに,サブ教師データ集合に付随して生成されたOOBデータ集合を適用して,特徴量の重要度Ij を算出する.重要度Ij が0.5以上の特徴量αj を4泳法の判別に重要な特徴量FV1とする.その結果,表3の左に示す9種類の特徴量を選定した.

表3 4泳法の判別に重要な特徴量FV1,平泳ぎとバタフライの判別に特化した特徴量FV2とFV3.*が採用した特徴量.
4泳法の判別に重要な特徴量FV1,平泳ぎとバタフライの判別に特化した特徴量FV2とFV3.*が採用した特徴量.

求めたFV1とは別に,平泳ぎとバタフライの判別に特化した特徴量を選定する.このため,教師データの中から,平泳ぎとバタフライのみのセンサデータを取り出し,そこからFV1特徴量を除外する.その後,同様の手続きで特徴量の重要度Ij を算出する.これらは,平泳ぎとバタフライの判別のみの重要度となる.一方で,多数の特徴量を採用しすぎると,平泳ぎとバタフライ間の判別のために特徴量空間を広げすぎて,背泳ぎやクロールの判別の誤差が上昇することが懸念される.そのため本研究では,重要度が上位3種の特徴量を採用することにした.その結果選出された平泳ぎとバタフライの判別に特化した特徴量をFV2として,表3の中央に示した.

5.1.3 泳法判別器の構築と結果

(1)アンサンブル学習であるRF,(2)5.1.2項で求めた平泳ぎとバタフライの判別に特化した特徴量(FV2),これら2点の導入により既存研究で見られていた平泳ぎとバタフライ間の混同という課題を解消し,かつ,4泳法を適切に判定できる泳法判別器の構築を目的とする.(1)と(2)がどの程度課題の解消に寄与するのか検証するため,アンサンブル学習の適用/非適用,平泳ぎとバタフライの判別に特化した特徴量の適用/非適用の組み合わせでそれぞれ判別器を構築し,汎化能力を比較する.非アンサンブル学習による判別器のモデルは,泳法判別に関する多くの既存研究[6],[8],[10]などで適用されている決定木(DT)とした.

ここでは,教師データを用いて,5.1.2項で求めた特徴量(FV1, FV2)と判別器のモデル(DT, RT)の組み合わせで構築した判別器(表4参照)に対して,テストデータを用いた汎化能力の測定の結果について触れる(判別器の構築についてのより詳細は[19]を参照).

表4 構築した泳法判別器とテストデータに適用した際のF値の比較(論文[19]の表7,9のデータをもとに作成)
構築した泳法判別器とテストデータに適用した際のF値の比較(論文[19]の表7,9のデータをもとに作成)

一般的な機械学習においては,汎化能力の測定手法として交差検定がある(交差検定の詳しい解説や種類については[28]などに書かれている).本研究では,オーバーラップありのスライディングウィンドウ法を用いているため,センサデータの波形内のある特定時点に計算された特徴量(ベクトル)は,その時点の前後に計算された特徴量(ベクトル)の数値情報を一部保持している.このような状況で,交差検定を用いると独立していない特徴量(ベクトル)同士が教師データとテストデータの中に振り分けられてしまう可能性があり,これによって測定された汎化能力は,未知の第三者を対象としたもとは言い難い.そのため,交差検定を用いず教師データとは別人の被験者をテストデータとし,構築した4つの判別器の汎化能力を測定することにした.

評価基準としてF値を用いる[19].表4では,4泳法それぞれのF値と,全泳法におけるF値の平均値Mean(All),バタフライと平泳ぎにおけるF値の平均値Mean(Bu, Br)を記載した.

はじめに,(1)アンサンブル学習(RF)の導入による効果について言及する.この効果を,判別器C3のF値から判別器C1のF値を減算した値によって見てみる.全泳法の平均値Mean(All)では+.052の向上,平泳ぎとバタフライの平均値Mean(Bu,Br)では+.053の向上が確認できる.

次に,平泳ぎとバタフライの判別に特化した特徴量FV2の導入による効果について言及する.この効果を,判別器C4のF値から判別器C3のF値を減算した値によって見てみる.その結果,平泳ぎとバタフライの平均値Mean(Bu,Br)では,+.121の向上が確認できる.

最後に,アンサンブル学習とFV2の導入の総合的な効果について言及する.この効果を,判別器C4のF値から判別器C1のF値を減算した値によって見てみる.その結果,平泳ぎとバタフライの平均値Mean(Bu,Br)では,+.174の向上が確認された.一方で,特徴量空間の次元に着目すると,判別器C3は9次元,FV2を導入した判別器C4は12次元であることから,特徴量空間の高次元化による精度の向上という解釈も可能である.FV2が平泳ぎとバタフライの判別に重要か否かをより詳細に検討するためには,C3と同様の次元数かつFV2が導入された特徴量空間において判別器を構築し,精度を比較することが必要である.今,4泳法の判別に重要な9種の特徴量により構成されるFV1の中から,重要度下位3種の特徴量を除外し,そこに,平泳ぎとバタフライの判別に重要な3種の特徴量FV2を追加する.この操作により得られた9種の特徴量を,FV3と呼ぶことにする(表3右側).次に,FV3を使用したRFにより,4泳法の判別器C5を教師データにより構築し,判別器C5が有する判別精度をテストデータにより評価した(表4下部).C3とC5の平泳ぎとバタフライの判別に対する平均F値Mean(Bu,Br)を比較すると,+.074の差が確認できる.C3とC5の特徴量空間は同一の次元数であるため,この上昇はFV2に由来するものだと解釈できる.一方,C4とC5の平泳ぎとバタフライの判別に対する平均F値Mean(Bu,Br)を比較すると,+.047の差が確認できる.C4とC5はいずれもFV2が導入されており,特徴量空間の次元のみに違いがある.そのため,この上昇は,次元数の増加に由来するものだと解釈できる.以上の議論を総括すると,判別器C4で得られたMean(Br, Bu)=.961という高い汎化能力は,平泳ぎとバタフライの判別に特化した特徴量FV2の導入による効果(+.074)と,特徴量空間の高次元化による効果(+.047)の複合により発生したと考えられる.

以上の結果より,新たに導入した(1)アンサンブル学習(RF),(2)平泳ぎ・バタフライの判別に特化した特徴量FV2は,既存研究の課題として挙げられていた平泳ぎ・バタフライの混同という課題の解消に寄与する可能性がある事が示唆された.

5.2 泳動作判別(ストロークとターン動作の判別と動作区間の推定)

競泳指導サポートシステムの課題の1つに,取得した競技中のセンサデータからストロークとターン動作を判別し,ストローク区間とターン区間を自動で推定することが存在する.非アンサンブル学習によってこの自動推定を試みた我々の研究[29]では,個人によって異なる動作パターンを除去しきれず,汎化能力が低いという課題があった.ここでは,各泳動作内での個人によらない共通のパターンを学習し,より精度の高い動作推定を実現させるため,アンサンブル学習の1つであるRFを活用したターンとストローク動作判別,その結果を用いたストローク区間とターン区間の推定をする手法について概説する.

5.2.1 データ処理と特徴量

実験(4.1節)より得られたデータのうち,本節では,競技中のセンサ落下や動画撮影の不備による5試技分の欠損を除いた,33試技分のデータを使用した.そのうち,クロール(Fr) 12試技,バタフライ(Bu) 11試技,平泳ぎ(Br) 5試技,背泳ぎ(Ba)が5試技であった.泳法ごとに泳動作判別器が十分に学習できるよう考慮し,学習用の教師データと汎化能力検証用のテストデータに割り振り,Frの教師データが8試技,テストデータが4試技,Buの教師データが6試技,テストデータが5試技,Brの教師データが4試技,テストデータが1試技,Baの教師データが3試技,テストデータが2試技とした.

取得したデータと動画を同期させ泳動作タグ(ストローク,ターンなど)は,4.2節の定義にしたがって,動画から動作を確認し1/100s(1データサンプル点)ごとに付与した.そのため,1試技分のデータセットは,時系列のセンサデータと1データサンプル点ごとに付与した泳動作タグ(ストローク,ターンなど)で構成される.

泳動作の中でもストロークは競技中の大半を構成する動作であり,また,各泳法で1ストロークの周期が異なるため,本章では5.1.1項で述べた各泳法の1ストローク平均時間をスライディングウィンドウ法のウィンドウ幅wに設定をした.また,泳動作の切り替わりに対してよりよく反応できるよう,スライド幅pは1/100sec(1データサンプル点)と設定した.

以上の設定で取得したセンサデータから表2に示す48種類の特徴量の算出を行った.

5.2.2 特徴量の選択の結果

教師データを用いて各泳法ごとに,ストロークとターン動作の判別に使用する特徴量の選択を行った.5.1.2項の処理を,構築する弱学習器数を200個,重要度Ij の閾値を0.5以上として各泳法ごとに実施したところ,表5のように,クロールでは25種類,バタフライでは24種類,平泳ぎでは16種類,背泳ぎでは10種類の特徴量が選定された.

表5 特徴量の一覧.*は,各泳法の泳動作判別器に採用した特徴量を示している(論文[23]の図2のデータをもとに作成).
表5  特徴量の一覧.*は,各泳法の泳動作判別器に採用した特徴量を示している(論文[23]の図2のデータをもとに作成).
5.2.3 泳法判別器の構築と結果

教師データを用いてストロークとターン動作の判別器を構築した.このとき,各泳法ごとの弱学習器数B は,1〜200の中で各弱学習器にOOBデータをあてはめた時の平均判別誤差が最小となる値とした.その結果,Frは91,Baは57,Buは41,Baは162となった.

構築した判別器にテストデータを適用した.表6に各泳法の泳動作判別器の精度評価の結果(Positive case: turn,Negative case: stroke)を示す.比較のため非アンサンブル学習による結果[29]を合わせて載せている.ここで,Akは正答率,Pkは適合率,Rkは再現率,FkはF値である.この各指標は[29]と同様に,各泳法kごとにストロークとターンのデータ比率が均一となるよう規格化し算出している.

表6 泳動作判別器の精度評価(論文[23]の表1,論文[29]の表3のデータをもとに作成)
泳動作判別器の精度評価(論文[23]の表1,論文[29]の表3のデータをもとに作成)

表6より,全泳法におけるすべての評価項目が飛躍的に向上していることが確認でき,泳動作をより精緻に判別できていることが見てとれる.特に,再現率の向上は,実際のターン区間内に対する判別漏れが改善していると解釈でき,競泳指導サポートシステムの性能向上に寄与できると考えられる.

さらに,この泳動作の判別結果をもとに,ストロークとターン区間を推定した.ストロークとターン動作の判別は1/100sec(1データサンプル点)ごと行われているため,ストロークとターンの判別結果が連続する区間を,それぞれの区間として扱う.なお,ストローク区間の終了がターン区間の開始であり,ターン区間の終了がストローク区間の開始に対応するため,以下では,ターン区間に焦点を置き,説明を進める.図6に,ターン区間の推定を各泳法でランダムに1名ずつ可視化した結果の例を示す.実線がストローク開始から競技終了までのZ軸の加速度の波形であり,塗りつぶされた三角が実際のターンの区間の開始/終了タイミング,中抜きの三角が推定したターンの区間の開始/終了タイミングである.すべての泳法において,可視化した被験者のターン区間の開始/終了タイミングはおおむね捉えられていることが見て取れる.また,他の被験者についても同様の結果であった.

各泳法の被験者1名分のターン区間の推定結果(テストデータ) 各泳法の被験者1名分のターン区間の推定結果(テストデータ)
図6 各泳法の被験者1名分のターン区間の推定結果(テストデータ)
各泳法におけるターン開始/終了タイミングの推定結果から,平均誤差を算出し,表7にまとめた.Meanは誤差の絶対値から算出した平均誤差であり,Stdはその標準偏差である.ターン区間の推定誤差の観点からも,非アンサンブル学習による結果[29]と比べ精度が向上していることが見て取れる.クロールと平泳ぎのターン終了タイミングの精度が劣っているが,泳動作判別器の精度評価を考慮すると,ターン区間内の網羅性を高めた結果と捉えることができる.よって,多数の未知データに対してターン区間の推定を実施した際に有用性が発揮できる可能性が示唆される.
表7 ターン区間推定の誤差(論文[23]の表2,論文[29]の表4のデータをもとに作成)
ターン区間推定の誤差(論文[23]の表2,論文[29]の表4のデータをもとに作成)

以上の結果より,4泳法すべてにおいて,従来の非アンサンブル学習の手法よりもターン区間の推定精度を改善できることが示唆された.

5.3泳動作判別(各ストローク動作開始タイミングの検出)

5.2節の手法により,競技中のストローク区間とターン区間の抽出が可能となった.次の課題として,競技中に行われる複数回のストローク動作について,開始タイミングをそれぞれ個別に検出することが挙げられる.本節では,深層学習とピーク検出を活用することで,各ストローク動作開始タイミングを検出する手法について概説する.

5.3.1 モデルの構成

モデル構成を図7に示す.

深層学習(畳込みニューラルネットワーク)によるストローク開始タイミング検出のモデル
図7 深層学習(畳込みニューラルネットワーク)によるストローク開始タイミング検出のモデル
入力層

センサデータの切り出しにおけるウィンドウ幅wを,5.1.1項に示した各泳法ごとのストロークの平均周期の半分に設定する.このウィンドウ幅w,および,スライド幅p=0.01secでスライディングウィンドウ法を適用し,ウィンドウ幅w分の3軸の加速度および角速度の時間領域の値と高速フーリエ変換による周波数領域の値を算出する.これにより,取得したデータをw×12サイズの行列に変換する.行成分がウィンドウ幅w,列成分が3軸加速度・角速度の時間・周波数成分の値となる.スライド幅p=0.01sec間隔でこのw×12サイズの行列を逐次的に作成し入力していく.

特徴量変換

次に,w×12サイズの行列を3×1サイズのフィルタにより,(w-2)×12サイズ,(w-4)×12サイズへと段階的に畳み込む.活性化関数はReLu関数を採用する.画像処理における深層学習の場合は,行成分のみならず列成分にも畳込みを行うが,センサデータの場合は,列成分に畳み込んでしまうと,各軸が有している情報が合成されてしまう.そのため,今回は行成分のみの畳込みを行っている[30].

その後,全結合層へと接続され,((w-4)×12)次元の特徴量ベクトルを得る.これを10次元まで低次元化させ,出力層へとたどり着く.全結合層における低次元化も,活性化関数はReLu関数を採用する.

出力層

出力層のニューロンは3つ作成する.また,4.2項(図4,表1)に示した競泳中の動作と対応させた出力を割り当てる.

1つ目は,競泳を遂行していない動作やターンといった,ストロークとは関係のない動作に対して反応するニューロンを割り当てる.すなわち,センサの電源を入れてから,プールサイドでの歩行,プールへの入水,ターン,競技開始直後の伸びといった身体動作を行ったときのセンサデータが入力されたときに,この出力ニューロンは反応する.競技遂行中以外の動作に反応するニューロンを導入することで,センサの電源をプール外で入れた瞬間から手法を適用することが可能となる.

2つ目の出力として,ストロークを開始した瞬間に反応するニューロンを割り当てる.すなわち,ストロークを開始した瞬間に相当するセンサデータが入力されたときこの出力ニューロンは反応する.このニューロンの出力値が重要な値となる.

3つ目の出力として,ストロークを開始した瞬間ではない状態のストローク動作に反応するニューロンを割り当てる.この出力ニューロンは,1ストローク動作における中盤や終盤の動作に相当するセンサデータが入力されたとき反応する.

ピーク検出

2つ目の出力ニューロンが反応したとき,ストローク開始タイミングの可能性が生じたことを意味する.ただし,スライド幅p=0.01 secでモデルにセンサデータを入力し続けると,ストロークの開始タイミングが1回のストロークに対して複数個所検出されてしまうことが想定される.そのため,ピーク検出によりストローク開始タイミングをピンポイントで検出する.

1ストロークの所要時間が正規分布に従うとして,n回目のストロークが開始してから,1ストロークの平均時間より3標準偏差分早いタイミングでn+1回目のストロークが発生することはないという仮定を置きピーク検出を行う.

なお,3つニューロンが出力する値の総和は1としているため,2つ目のニューロンの出力が0.33以上の値を取った場合,ストローク開始タイミングであるとする.

以上がストローク開始タイミングの検出手法となる.

5.3.2 モデルの構築と結果

ここでは,5.2節のストロークとターンの動作判別において教師データとして用いたセンサデータのみを使用した.クロール(Fr)の教師データを5試技,テストデータを3試技,バタフライ(Bu)の教師データを4試技,テストデータを2試技,平泳ぎ(Br)の教師データを2試技,テストデータを2試技,背泳ぎ(Ba)の教師データを2試技,テストデータを1試技とした.

教師データを用いて,泳法によらず学習回数を2万回,学習係数0.01に設定し,モデルパラメータの探索に確率的勾配降下法を採用し,モデルを構築した.

構築したモデルをテストデータを用いて評価した.図8に,バタフライのテストデータにおける2つ目の出力ニューロンの反応,および,ピーク検出の結果の1例を示す.実線がニューロンの出力値であり,塗りつぶされた青三角が実際のストローク開始タイミング,中抜きの青三角が検出されたストローク開始タイミングである.ストローク開始タイミング以外でもニューロンが反応している個所が1部見られるが,基本的にはストローク開始タイミングにおいて2つ目の出力ニューロンが強く反応していることを確認できる.また,ストロークとは関係のない動作(地上での歩行ど)である横軸が40 sec未満ないしは70 sec以上のときは,このニューロンの出力値はいずれも0を示している.さらに,中央付近のターンを行っている個所においても2つ目のニューロンはまったく反応していないことが確認できる.

ストローク開始タイミングに反応するニューロンの出力値とピーク検出結果(テストデータ,バタフライ)
図8 ストローク開始タイミングに反応するニューロンの出力値とピーク検出結果(テストデータ,バタフライ)

より定量的な評価を行うため,検出されたストローク開始タイミングの± 0.3sec以内に,実際のストローク開始タイミングが存在すれば,正答扱いにすることにし,2値基準(検出できたか,できていないか)による精度評価を行った(表8).

表8 2値基準によるストローク開始タイミングの検出結果
2値基準によるストローク開始タイミングの検出結果

バタフライについてはテストデータに含まれる52例のストロークのうち,実際のストローク開始タイミングを47例検出できており,5例の取りこぼしと8回の誤検出があるものの,高い精度でストロークを検出できていることが分かる.一方,図7から,競技開始直後,および,ターン終了直後のストロークが正しく検出できなかったことが見て取れる.この点の改善は今後行う必要がある.

平泳ぎについても46例のストロークのうち,45例検出できており,高い再現率でストロークを検出できている.しかしながら,22回の誤検出が存在し,適合率は低くなっている.ストロークがおおむね検出できていることから,ストローク以外の区間で1つ目のニューロンがうまく機能せず,2つ目のニューロンの出力値に影響を与えてしまった可能性が高い.よって,平泳ぎのストローク検出器にはストローク以外の動作にもニューロンが反応しやすくする処理などを考えていく必要がある.

クロールと背泳ぎについては,どちらもストロークの取りこぼしと誤検出が正しくストロークを検出できた数を上回っており,適合率,再現率ともに低い値となった.特に,背泳ぎはほとんどのストロークを検出できておらず,今後手法の改良が必要である.

ここで,正しく検出できたストローク開始タイミングを時間ベースで評価する.この結果を表9に示す.誤差は実際のストローク開始タイミングに対して,推定タイミングがずれた秒数の絶対値で算出しており,Mean(|Err|) が平均値,Std(|Err|)が標準偏差,Min(|Err|)が最小値,Max(|Err|)が最大値である.

表9 ストローク開始タイミングの時間ベースの精度評価
ストローク開始タイミングの時間ベースの精度評価

ストローク開始タイミングが検出できた場合には,平泳ぎにおいて,時間基準による誤差評価では,平均誤差が0.088secとなり,高い精度でストローク開始時間を推定し,他の3泳法においても,ストローク開始タイミングが検出できた場合には,平均誤差が 0.1secのオーダで各ストロークの開始タイミングを推定可能である.

なお,動作ラベル付けに使用した映像データが 30fpsで撮影されたことを考慮すると,タイミングの推定誤差として,0.033secよりも小さな誤差は制御することができない.

以上の結果より,バタフライでは,手法の有効性が示唆された.また,平泳ぎとクロールについては誤検知や取りこぼしに対策が必要であるが,時間ベースの精度評価と言う観点では,その有効性が示唆された.背泳ぎに関しては,新たな機械学習の手法や特徴量変換手法の導入といった抜本的な変更が必要である.

6.プロトタイプシステム構築とその評価

競泳指導サポートシステムの実現に向け,第5章で解説した成果を組込み,プロトタイプを構築した.第3章で説明をした競泳指導サポートシステムおけるプロトタイプの位置付けを図9に示す.ピンクで囲った部分を構築したプロトタイプがカバーする.なお,プロトタイプの構築をシンプルにするため,各泳法は既知としているが,5.1項の手法を組込めば可能である.

競泳指導サポートシステムおけるプロトタイプの位置付け
図9 競泳指導サポートシステムおけるプロトタイプの位置付け

本章では,プロトタイプの概要と,プロトタイプについての可視性,有効性,信頼性を評価するアンケート調査を実施した結果についてまとめる.

6.1 プロトタイプシステム

各泳法はすでに判別されているとし,その後の段階である計測したセンサデータと推定した各ストロークとターンの区間を可視化し,推定した各ストロークとターンの時間情報などを表示する機能部分を持つプロトタイプをMatlab GUIDE [31]を用いてラップトップPC上に構築した.図10に,構築したプロトタイプのユーザインタフェース(UI)の例を示す.

プロトタイプのユーザインタフェース(UI)の例[24]
図10 プロトタイプのユーザインタフェース(UI)の例[24]

図10(a)の上方テキストボックスに取得したセンサデータのファイル名を入力(選択)し,データ読み込みボタンを押すと,データの読み込みとそのデータに基づき各ストロークの開始タイミングの検出やターン区間の推定を行い図10(b)に描画する.

図10(b)には,計測した各軸の加速度,角速度,または,合成加速度のデータを青線で描画する.描画の範囲は,はじめにストロークが検出された200サンプル点(2sec)前から最後にストロークが検出された200サンプル点後のデータとしている.グラフ上部のタブを選択することで,各軸の加速度,角速度,または,合成加速度と描画したグラフを切り替えることができる(図10(b)はX軸の角速度を表示).さらに,グラフ下部のチェックボックスのオンとオフを切り替えることにより,描画したグラフ上に,検出した各ストロークの開始タイミングを赤線で,ターンの推定区間(開始/終了タイミング)を緑線で,それぞれ表示することができる.

図10(c)のリストボックスには,泳法の自動判別結果(ここでは泳法は判別されているとしているため,あらかじめ入力している),各ストロークの推定所要時間,各ターンの推定所要時間が,図10(d)のリストボックスには,各ストローク,各ターンの試行回数と平均時間を表示している.また,図10(c)のリストボックスの各ストローク,各ターンの結果を選択することで,選択した動作の区間のみを図10(b)のグラフとして表示することができる.図10(a)の下方テキストボックスにファイル名を入力(選択)し保存ボタンを押すことで,計測センサデータとともに図10(c),(d)のリストボックス内の推定結果をファイルに保存できる.

以上のように,計測したセンサデータから試技中の各ストロークとターンの時間情報を抽出し,計測したセンサデータとともに可視化するプロトタイプシステムを構築した.

6.2 プロトタイプのアンケート評価

プロトタイプについて,可視性,有効性,信頼性を評価するアンケート調査を実施した.なお,被験者にはアンケート調査を行う前に,目的を文章,および,口頭にて説明し,取得したデータを研究の目的に使用することについて文章にて了承を得ている.

6.2.1 アンケート実施調査の概要と項目

過去3年以内に代表選手経験のない,競泳歴4年以上の初級から中級の大学競泳選手5名に対し,2019年1月末に,アンケート調査を実施した.

アンケート調査のプロトコルは,以下のようにした:

  • i)プロトタイプの概要を説明し,得られる情報,使用時のイメージについて説明した
  • ii)被験者自身が使用するイメージを掴んでもらうため,使用開始から終了までの映像とセンサデータの波形を同期させた動画を閲覧してもらい,実際の使用環境を説明した後,サンプルのセンサデータにてプロトタイプのUIを実際に使用した
  • iii)プロトタイプにおける各泳動作の推定精度について説明した

なお,競泳指導サポートシステムの機能や使用環境など,システム利用に対する最低限の説明をしたが,被験者の意見を直感的に回答してもらうため,競泳指導サポートシステムのターゲット選手層や今後の競泳指導サポートシステムへの機能の実装予定のなどについての説明はしなかった.

その後,表10のアンケートの質問項目に回答してもらった.表10のアンケートの質問項目は,システムの可視性,有効性,信頼性を評価できるように構成した.さらに,競技中・トレーニング中に記録したいと思うデータについての項目も加えた.必ず肯定か,否定かを判断できるように,各項目の評価には6段階の格付け法(最大5(肯定),最小0(否定))を採用し,可視性については回答者の直感的な回答を得るため回答理由は記入してもらわず,有効性と信頼性の質問においては直後に回答理由を記入してもらった.

表10 アンケートの質問項目(論文[24]の表1のデータをもとに作成)
アンケートの質問項目(論文[24]の表1のデータをもとに作成)
6.2.2 アンケート調査結果

表11に,各質問に対する平均点数,標準偏差,肯定感(3〜5点)の人数,否定感(0〜2点)の人数,被験者全員の回答選択理由の一覧(原文のまま掲載)を示した.

表11 アンケート調査結果(論文[24]の表2のデータをもとに作成)
アンケート調査結果(論文[24]の表2のデータをもとに作成)

可視性についての項目の回答は,質問1,2ともに平均点数が2.5以上となっており,システムの表示する情報は読み取りやすい傾向にあったと言える.特に,グラフ上の情報の読み取りやすさは被験者全員が肯定的な回答をした.

有効性については,質問3,4ともに平均点数が4.2であり,全員がトレーニングに有効だと回答した.

信頼性については,質問5,6ともに平均点数が2.5を下回り,肯定と否定の人数も分かれた.回答のばらつきがあり,誤差の許容範囲は回答者(使用者)によって認識に差があることが示唆された.

6.2.3 アンケート調査結果から見えてきたこと

各項目の回答の結果を考察する.

可視性については,強みや改善点を発見する際の見やすさが評価されていると推察できる.有効性についての回答選択理由と合わせて見てみると,回答者らがトレーニングの中に自身の強みや弱みがどこにあるのかを意識していると考えられる回答が複数存在するため,利用者が気になった動作がどの部分にあたるのかをグラフ上でピンポイントに確認できることが情報として読み取りやすく,使用できそうだと評価されたと考えられる.ただし,質問1の回答にて,リストボックス内の情報に関して2名が否定的な回答をしているため,リストボックスではない方法に変更するなどの修正を検討する必要がありそうである.

有効性については,回答を選択した理由から,質問3のストローク1回の所要時間が分かることは,スタミナの限界や遅くなるタイミングといった弱点を知る場面や回数を管理して泳ぐ練習といった場面での活用が期待されていることが見て取れた.また,質問4のターン1回の所要時間が分かることは,1ターン試技のタイム管理やトレーニング効果の表れ具合の指標として活用できそうといった理由であることが確認できた.これらの結果は,本システムが初級者・中級者の選手が自ら手軽に細かな泳動作を練習中や練習後に評価できる環境を提供できる可能性を示唆している.

一方で,信頼性の回答を選択した理由を見ると,質問5のストローク推定誤差の許容については,0.1sec程度の誤差までの精度なら許容できるが,推定精度をさらに改善する必要があるという回答が過半数となった.一方で,質問6のターン推定誤差の許容については,1競技中あたりの回数がストロークと比べて少ないこと,1回あたりの時間がストロークに比べて長いことから,ストロークと比べて誤差の許容範囲が広がっていることが回答から見て取れる.現段階の精度では,回答者(使用者),または,利用場面によることが示唆された.

ストローク,ターンどちらの推定精度の向上についても検討していく必要がある.ストローク,ターンの推定精度は,それぞれの学習の際の教師データの拡充により向上が目指せる可能性がある.データ数を増やし精度向上の検討を進め,限界となる精度を見きわめていきたい.それでもなお精度が不足している場合は,別視点での工夫も検討していきたい.

最後に,質問7のトレーニング中に記録したいデータについての回答結果について言及する.被験者の回答結果は,【1試技あたりのタイム,泳いだ距離,日々のタイム変化,呼吸回数,心拍数】であった.第3章や[5]で述べた競泳指導サポートシステムでは,1試技あたりのタイム,泳いだ距離,日々のタイム変化をフィードバックすることを想定しているため,競泳指導サポートシステムに必要な機能の方針はおおむね間違いないことが示唆された.

また,呼吸回数についてはセンサデータから呼吸有無の学習をし,記録することが可能であると考えている.また,心拍数については,新たなセンサを取り付けるなどの検討が必要であるが,ニーズに応えるため,新たな取得方法ないしは推定手法を今後検討する必要があると考えている.

7.今後の課題と展望

我々は,単一の慣性センサを活用した競泳指導サポートシステムの開発を進めている.

本稿では,まず,単一の慣性センサを活用した競泳指導サポートシステムの構想,および,システム実現に向けて必要な技術について概説をした.泳法判別については,平泳ぎとバタフライ間の誤判別(混同)に対し,平泳ぎとバタフライの判別に寄与する特徴量を探索し,それを用いて判別器を構築する手法について触れた.また,アンサンブル学習を導入することにより精度向上を実現した.泳動作判別を用いたストローク区間とターン区間の推定については,ランダムフォレスト法を用いる手法を取り入れた.さらに,各ストロークの開始タイミングの推定については,深層学習とピーク検出を組み合わせる手法について触れた.

次に,これらの成果を取り入れ,各泳法はすでに判別されているとし,その後の段階である取得したセンサデータを可視化し,競技中の各ストロークやターンの時間情報や回数などを表示する競泳指導サポートシステムのプロトタイプの構築について述べた.構築したプロトタイプについて,可視性,有効性,信頼性を評価するアンケート調査を実施した結果,各ストロークやターンの推定誤差にはさまざまな意見があるものの,それらの回数や所要時間を確認できるプロトタイプのようなシステムであっても,実際のトレーニング現場で求められていることが見えてきた.

今後は,競泳指導サポートシステムの要件となるさらなる課題(評価指標の検討や課題(4)である使用者へのフィードバック方法の検討など)の解決を進め,競泳指導サポートシステムを構築していくとともに,各泳動作の推定精度を向上させる必要がある.これらとは独立に,競泳指導サポートシステムの実現に向けては,水中での安定したデータ送受信のための無線通信が必要になるが,それらの評価(データの欠損や遅延など)やリアルタイム性の担保なども検討していく必要がある.

参考文献
  • 1)文部科学省:マルチサポート事業(オリンピック夏季競技)ターゲット競技の決定について,http://www.mext.go.jp/b_menu/houdou/25/04/1330534.htm (2020年5月31日現在)
  • 2)日本水泳連盟:2020年度資格級 全国統一の泳力評価基準,https://www.swim.or.jp/compe_swim/qualification.php (2020年5月31日現在)
  • 3)Akiduki, T., Kawamura, K., Zhang, Z. and Takahashi, H. : Extraction and Classification of Human Gait Features from Acceleration Data, International Journal of Innovative Computing, Information and Control (IJICIC), Vol.14 No.4, pp.1361-1370 (2018).
  • 4)高橋弘毅,神尾郁好,秋月拓磨,章 忠:特異値分解による個人特徴抽出とその物理的意味検討のためのセンサ寄与の把握,知能と情報(日本知能情報ファジィ学会論文誌), Vol.31 No.1, pp.603-607 (2019).
  • 5)大前佑斗,昆 慶久,酒井一樹,高橋弘毅,秋月拓磨,宮地 力,櫻井義久,江崎修央,中井一文:データ駆動型アプローチによる競泳コーチング支援環境の構築, スポーツ工学・ヒューマンダイナミクス 2015,A-14 (2015).
  • 6)Kon, Y., Omae, Y., Sakai, K., Takahashi, H., Akiduki, T., Miyaji, C., Sakurai, Y., Ezaki, N. and Nakai, K. : Toward Classification of Swimming Style by Using Underwater Wireless Accelerometer Data, The 19th International Symposium on Wearable Computers (ISWC-19), pp.85-88 (2015).
  • 7)Topalovic, M., Eyers, S., Exadaktylos, V., Olbrecht, J., Berckmans, D., Aerts, J.: Online Monitoring of Swimmer Training Using a 3D Accelerometer Identifying Swimming and Swimming Style, the 2nd International Congress on Sports Sciences Research and Technology Support, pp.111-115 (2014).
  • 8)仰木裕嗣,金田晃一,高倉 昭:胸部加速度を用いた泳種目の推定, シンポジウム:スポーツアンドヒューマンダイナミクス 2012, pp.98-103 (2012).
  • 9)Jensen, U., Prade, F. and Eskofier, B. : Classification of Kinematic Swimming Data with Emphasis on Resource Consumption, Body Sensor Networks (BSN), pp.1-5 (2013).
  • 10)Choi, W., Oh, J., Park, T., Kang, S., Moon, M., Lee, U., Hwang, I. and Song, J. : Mobydick: An Interactive Multi-swimmer Exergame, the 12th ACM Conference on Embedded Network Sensor Systems, pp.76-90 (2014).
  • 11)松本知佳,中井一文,江崎修央,櫻井義久,宮地 力:加速度センサを用いたリアルタイム競泳コーチングシステムの開発,シンポジウム:スポーツアンドヒューマンダイナミクス, A-33 (2014).
  • 12)Nakashima, M., Ohgi, Y., Akiyama, E. and Kazami, N.: Development of a Swimming Motion Display System for Athlete Swimmers' Training Using a Wristwatch-Style Acceleration and Gyroscopic Sensor Device, Procedia Engineering, Vol.2 No.2, pp.3035-3040 (2010).
  • 13)Davey, N., Megan, A. and Daniel, A. J. : Validation Trial of an Accelerometer-Based Sensor Platform for Swimming, Sports Technology, Vol.1, pp.202-207 (2008).
  • 14)Garmin Swim, https://buy.garmin.com/en-US/US/p/97287/ (2020年5月31日現在)
  • 15)Salawson, S., Conway, C., Justham, L., Sage, T. and West, A. : Dynamic Signature for Tumble Turn Performance in Swimming, Procedia Engineering, Vol.2 No.2, pp.3391-3396 (2010).
  • 16)Bachlin, M., Forster, K. and Troster, G. : SwimMaster: A wearable Assistant for Swimmer, the 11th International Conference on Ubiquitous Computing (ICUC-11), pp.215-224 (2009).
  • 17)Bachlin, M. and Troster, G. : Swimming Performance and Technique Evaluation with Wearable Acceleration Sensors, Pervasive and Mobile Computing, Vol.8 No.1, pp.68-81 (2012).
  • 18)Callaway, A., Cobb, J. and Jones, I. : A Comparison of Video and Accelerometer Based Approaches Applied to Performance Monitoring in Swimming, International Journal of Sports Science and Coaching, Vol.4 No.1, pp.139-153 (2009).
  • 19)Omae, Y., Kon, Y., Kobayashi, M., Sakai, K., Shionoya, A., Takahashi, H., Akiduki, T., Nakai, K., Ezaki, N., Sakurai, Y. and Miyaji, C. : Swimming Style Classification Based on Ensemble Learning and Adaptive Feature Value by Using Inertial Measurement Unit, Journal of Advanced Computational Intelligence and Intelligent Informatics, Vol.21, No.4, pp.616-631 (2017).
  • 20)大前佑斗,小林幹京,酒井一樹,塩野谷明,高橋弘毅,宮地 力,櫻井義久,中井一文,江崎修央,秋月拓磨:深層学習と慣性センサを活用した個別ストローク動作開始タイミングの推定手法, 電子情報通信学会技術研究報告, Vol.117 No.238, PRMU2017-90, pp.155-160 (2017).
  • 21)Omae, Y., Kobayashi, M., Sakai, K., Akiduki, T., Shionoya, A. and Takahashi, H. : Detection of Swimming Stroke Start Timing by Deep Learning from an Inertial Sensor, Proceedings of the 14th International Conference on Innovative Computing, Information and Control (ICICIC2019), p.96 (2019).
  • 22)Omae, Y., Kobayashi, M., Sakai, K., Akiduki, T., Shionoya, A. and Takahashi, H. : Detection of Swimming Stroke Start Timing by Deep Learning from an Inertial Sensor, ICIC Express Letters Part B : Applications, Vol.11 No.3, pp.245-251 (2020).
  • 23)小林幹京,大前佑斗,酒井一樹,秋月拓磨,塩野谷明,高橋弘毅:単一慣性センサとアンサンブル学習を活用した競泳中のターン区間推定,知能と情報(日本知能情報ファジィ学会誌), Vol.31 No.1, pp.597-602 (2019).
  • 24)高橋弘毅,小林幹京,大前佑斗,酒井一樹,秋月拓磨,塩野谷明:単一慣性センサを用いた競泳指導サポートシステム:プロトタイプ構築とその評価, 知能と情報(日本知能情報ファジィ学会論文誌), Vol.32 No.1, pp.544-549 (2020).
  • 25)Sony, デジタルビデオカメラレコーダー HDR-CX720V, http://www.sony.jp/handycam/products/HDR-CX720V/spec.html (2020年5月31日現在)
  • 26)Bao, L. and Intille, S. S. : Activity Recognition from User-annotated Acceleration Data, Pervasive Computing, pp.1-17 (2004).
  • 27)Ravi, N., Dandekar, N., Mysore, P. and Littman, M. L. : Activity Recognition from Accelerometer Data, the Association for the Advancement of Artificial Intelligence (AAAI), Vol.5, pp.1541-1546 (2005).
  • 28)Hastie, T., Tibshirani, R., Friedman, J. (著), 杉山 将,井手 剛,神嶌敏弘,栗田多喜夫,前田英作(監訳):統計的学習の基礎―データマイニング・推論・予測, 共立出版 (2014).
  • 29)Kobayashi, M., Omae, Y., Sakai, K., Shionoya, A., Takahashi, H., Akiduki, T., Nakai, K., Ezaki, N., Sakurai, Y. and Miyaji C. : Swimming Motion Classification for Coaching System by Using a Sensor Device, ICIC Express Letters Part B : Applications, Vol.9 No.3, pp.209-217 (2018).
  • 30)Francisco, J. O., Daniel, R. : Deep Convolutional and LSTM Recurrent Neural Networks for Multimodal Wearable Activity Recognition, Sensors, Vol.16 No.1, 115 (2016).
  • 31)Mathwroks ドキュメンテーション,GUIDE を使用した簡単なアプリの作成:https://jp.mathworks.com/help/matlab/creating_guis/about-the-simple-guide-gui-example.html (2020年5月31日現在)
髙橋 弘毅(正会員)hirotaka8@mac.com

2005年新潟大学大学院自然科学研究科博士後期課程修了.ドイツ マックス・プランク重力物理学研究所(アルバートアインシュタイン研究所)PDなど経て,2013年より長岡技術科学大学大学院工学研究科 情報・経営システム工学専攻准教授(本稿執筆時:長岡技術科学大学所属).2020年9月より東京都市大学大学院総合理工学研究科 教授.重力波データ解析手法の研究,信号処理,機械学習,データサイエンスや数理科学などの研究に広く従事.博士(理学).

大前 佑斗(非会員)oomae.yuuto@nihon-u.ac.jp

2016年長岡技術科学大学大学院工学研究科博士後期課程修了.国立スポーツ科学センタ研究員,東京工業高等専門学校 電気工学科助教を経て,2019年より日本大学生産工学部マネジメント工学科 助教.機械学習,データマイニング,知能情報処理などの研究に従事.博士(工学).

酒井 一樹(非会員)k-sakai@nagaoka-ct.ac.jp

2018年長岡技術科学大学大学院工学研究科博士後期課程修了.2018年より長岡工業高等専門学校電子制御工学科 助教.重力波観測におけるデータ転送系の開発や取得データの解析を中心に,信号処理や機械学習を用いたデータ解析の研究に従事.博士(工学).

秋月 拓磨(非会員)akiduki@me.tut.ac.jp

2012年豊橋技術科学大学大学院工学研究科博士後期課程修了.山梨英和大学助教を経て,2015年より豊橋技術科学大学 機械工学系助教.身体動作解析やドライバ状態の検出・推定,センサ開発などの研究に従事.博士(工学).

塩野谷 明(非会員)shionoya@vos.nagaokaut.ac.jp

長岡技術科学大学大学院工学研究科 情報・経営システム工学専攻 教授.体育・保健センタ長.スポーツ工学,バイオメカニクスの研究に従事.博士(工学).

採録決定:2020年6月29日
編集担当:石井 一夫(久留米大学)