【記事更新】私のブックマーク「センサを用いた行動認識」


私のブックマーク

センサを用いた行動認識

井上 創造(九州工業大学)

1.センサ行動認識の研究論文は190 万件以上!

 近年,スマートフォンをはじめとする携帯デバイスが爆発的に普及しましたが,スマートフォンの中には,半導体集積技術を使ってセンサなどの機械部品をつくるMEMS(Micro Electro Mechanical Systems)技術の実用化のおかげで,すでにいろいろなセンサが搭載されています.例えば,ばねの変化を測る三軸加速度センサや,振動する物体が回転するときにかかるコリオリ力を測る角速度センサ(ジャイロセンサともいう)といったものです.このように簡単に誰もが使うようになった,身につけることができる(ウェアラブル)センサ,または環境に設置されたセンサから,「歩いている」,「自転車に乗っている」といった人間の行動を認識する技術が,“ センサ行動認識技術” であり,IoT(Internet of Things)時代に活用できる技術として,さかんに研究されています.

 ただ,「Human Activity Recognition」というキーワードでGoogle Scholar を検索すると,推定190 万件以上の論文がヒットします! もう多くの研究がなされた,すでに枯れた研究なのでしょうか?
 著者はそうは思っていません.なぜなら,これだけ研究論文がありながら,人間のあらゆる行動を認識できる技術はまだ確立されていないからです.ここでは,センサ行動認識のチャレンジを列挙しながら,研究動向のリンクを紹介します.

2.センサ行動認識の概要

 センサ行動認識技術の基本は,[Andreas 14] に詳しい解説があります.また,日本語では,著者の記事[井上 17]が詳しいです.

 センサ行動認識においては,入力のセンサデータから

  1. “ 移動時間窓” をとり,
  2. “ 特徴量” を計算し,
  3. 特徴量を説明変数,行動の種類(行動クラス)を目的変数として“ 教師あり学習” をする

というステップを踏むのが王道です.この前か後に,どこからどこまでが一連の行動かを判定する

  1. “ セグメンテーション”

を行うこともあります.
 詳しくは[井上 17] を参照されたいのですが,1 は時系列信号処理では一般的な処理であり,3 は一般的な教師あり学習ですが,2 については行動認識ならではの特徴量もいくつか提案されています.ただ,センサ行動認識が他の認識技術と異なるところは,そもそもセンサデータが行動を認識できるための十分な情報を含んでいないことが往々にしてあることです.例えば,

  • 行動は体全体で行うのに,スマートフォンのように一つのデバイスを体の1 か所にしか身につけていなかったり
  • 同一の行動でも,コンテキストによって「座っている」,「会議をしている」のように行動種が異なる

といった場合には,センサだけでは十分に情報を含んでいません.
 そのため,2 の特徴量をいかにがんばっても,そもそも十分な情報を含んでいないため精度に大した違いはないことも往々にしてあります.
 また,3 は通常の機械学習とはいっても,訓練データとテストデータをランダムにサンプリングすると,

  • 同一の行動シーケンスからの移動時間窓が学習・テストデータの両方に存在してしまう

といった交差検証の過ちが起きてしまいます.対象の行動シーケンスごと学習データから除外した交差検証に気をつける必要があります(著者が査読する論文の半分以上はこの過ちを犯している感があります).

3.センサ行動認識の課題

 上記[井上 17] においては,今後のチャレンジとして,以下のような課題をあげました.最近のセンサ行動認識の研究は,以下のいずれかに取り組んでいるものがほとんどであるといってよいと思います.それらを紹介しながら,近年の動向を紹介します.

3・ 1 チャレンジ1:センサの多様性

 センサ行動認識においては,用いられるセンサの種類やそのハードウェア規格,取付け方などの用法を細かく規定することができず,実際に用いられる際には多くのバラエティがあると考えられます.ウェアラブルセンサの場合は,体のさまざまな部分につけられたり,環境センサの場合は外気温や明るさ,気圧といった場所や時間帯によって値の取れ方に違いが出てきます[Kunze 08, Bayati 11].

 センサの種類もさまざまですし,また同種のセンサであっても,それらの特性や精度もさまざまです.著者らの研究では,利用時のデータ欠損に対して,学習時にもデータ欠損を想定して学習することで精度を上げることができる手法[Tahera 20] を提案して,国際会議ICIEV18 で優秀論文賞をいただきました.

 また,ときには全く新しいセンサも用いられます.例えば,文献[Khalifa 15] では,シミュレーションですが,加速度センサが発生するエネルギーでセンシングする方式を提案しています.

 最近ではWifi を使って, 通信路上にいる人の呼吸[Abdelnasser 15],睡眠,体動,心拍,そして行動を認識する手法[Ammae 18] も出てきています.

 屋内位置検出と行動認識を同時に行うもの[Wang 16] も出てきています.これらのセンサやセンシング方式の多様性に対して頑健な方式は,今後も課題となると考えられます.

 また最近では,OpenPoseなどのツールを使って動画からの人間の姿勢抽出が容易になったこともあり,動画とセンサを組み合わせた行動認識の研究も盛んになってきています.私達の研究[Adachi 20] では,OpenPose で得られた人間の2D 姿勢を[Martinez 17] のような3D 推定と組み合わせてデータ増幅を試み,ABC2020 国際会議で最優秀論文賞をいただきました.

3・ 2 チャレンジ2:種々のトレードオフ

 行動認識システムの設計においては,精度,処理の遅延,消費エネルギーといった種々の観点間にトレードオフが発生します[Yan 12].

例えば消費エネルギーについては,行動認識を段階的に行うことでエネルギーを節約する手法や, サンプリングレートを最適化する手法[Khan 16] も提案されています.

 また,遅延の少ない行動認識が必要とされるかどうかは,応用によって異なります.例えばスポーツや運転といった応用では低遅延が求められるでしょうし,健康のための生活習慣改善のような応用では,データを貯めておいて後で処理する,オフライン処理で十分だったりします[Learhoven 09].

 さらに,小型センサデバイスの場合,処理能力が制限されている場合も多くあります.一般にデバイスの処理能力を上げれば,消費エネルギーも増大しますが,これらの異なるトレードオフを自動的に切り替えたり調停したりする中央装置を提案している研究もあります[Lu 10].

3・ 3 チャレンジ3:行動そのものの定義

 応用によって異なる行動種が想定されるため,万能な行動の種類のリストをそろえることは困難です.現在の行動認識では,あらかじめ行動種リストを定義しておいて,それを教師あり学習するものが主流ですが,世の中のすべての行動について行動認識できるかというと,そういうわけではありません.
 行動種のリストの例としては,高齢者ケアのために日常生活行動(ADL)に関する指標が以前から開発されており[Katz 70],典型的な行動の種類としてよく参照され,評価に用いられてきました.

 このほか,運動の強度の整理もされていて, 行動によるエネルギー代謝量や時間によって行動が分類されています[Ainsworth 11].

 政府などが行う人々の日常生活における時間の利用の調査[Partridge 08, 統計局] も,日常における行動の一覧には参考にできます.1日の中の時間帯における行動の事前確率を得たり,学習の初期データとして用いたりする,といった使い方も可能です.

 あらかじめ定義されていない行動種に対して,他の知識を用いて未知行動を推定するzero-shot 学習[Cheng 13, Matsuki 19] や少ないサンプルから学習するfew-shot 学習[Le 15] の試みも行われています.

 ほかには,あらかじめ用意されたオントロジーを用意して教師なし行動認識するもの[Helaoui 13, Riboni 16] も提案されています.

 しかしこのようなあらかじめ行動種が決まっていない問題設定の行動認識は,まだまだ精度向上の余地はあるし,そもそもオントロジが整備されていない分野を考えると,まだまだ研究が必要だと考えます.
 人間行動は物理的にも意味的にも非常に多様であり,同じ意味でも別の行動に取られることがあるし,逆に物理的に似たような動きでもその状況や環境,文脈に応じて異なることがあります.このことから,自然言語処理技術との融合も期待されるところです.また,行動は,いくつかの部分行動を構成したり,逆に行動がいくつか重なってより大きな行動を形成したりすることもあります.さらには,いくつかの行動を同時に行ったり,短時間で切り替えながら行ったりするなど,複雑な動作を実際には行うものです.
 このような行動の階層の情報を利用することで,行動認識の精度を向上する可能性もあります.

3・ 4 チャレンジ4:データの偏り

 実際の場面においては,各行動クラスが同じ頻度で現れることはまずありません.例えば,「睡眠」のように長時間にわたって行われる行動もあれば,「トイレに行く」,といった短時間の行動のように,さまざまな頻度と時間で発生するものもあります.この,クラスの偏りの問題はパターン認識全般の問題ですが,特に行動認識においてはよく起こる問題といえます.
 そもそも,評価指標そのものがデータの偏りに影響されるものが多いので注意が必要です.[He 09] では,偏りに影響されない指標としてROC を紹介しており,クラスごとに学習を行う1 クラス学習や,データを補完する方法として重点サンプリングやコストを意識した手法,能動学習が紹介されています.

 [Ueda 18] では,ROC を用いたAUC の一部にのみ注目して最適化する手法を提案していますが,これも偏りがある場合に使える手法です.

 このほか機械学習の分野では,偏りのあるデータに対するランダムフォレスト法,バギング法,画像認識分野ではサポートベクタマシンを1 クラスからマルチクラスに複数レイヤ適用するものも提案されています.
 行動認識分野でも,足りないサンプルを,ブートストラップサンプリングなどの手法で人工的に生成する手法や,[Nguyen 15] では,正例とラベルのついていないサンプルから1 クラス学習を行う半教師あり学習であるPUL(Positive and Unlabelled Learning)をマルチクラスに適用する手法が提案されています.

 ただし上記のようなデータの補完は,行動のセグメントや,前後関係を考えていません.これらを考え出すと,問題はさらに難しくなってきます.
 さらに,これらの手法は,学習時にデータが偏っているものを是正する手法であり,利用時にデータが元来から偏っていることを想定したものではありません.学習時に偏りをなくしてしまうと,利用時のデータの偏りを無視した推測をしてしまうことは,経験のある方も多いかもしれません.この点については機械学習分野におけるさらなる研究が必要だと感じます.

3・ 5 チャレンジ5:さまざまな応用

 センサ行動認識といえば主にヒトの一人の行動を扱うのが普通ですが,種々の応用を考えると,さまざまなパターンが考えられます.例えばグループの行動認識[Hirano 13] や, イヌの行動認識[Ladha 13] の研究もされています.

 最近では,生物学者と共同した行動解析もNature Communications に採録されています.

 また,病院の看護師の行動認識を試みた研究もいくつかあり[Bahle 14],著者らも積極的に取り組んでいます[Inoue 15].

 高齢化が進む中での介護行動認識と介護記録を組み合わせた研究も発表しました[Inoue 19].

 また,行動を認識をするだけでなく,それ以上に何をすべきかについても探求の余地があります.例えば,行動を上手に行えているかを判定するスキルアセスメントも関連します[Khan 15].

 歯磨き[Korpela 15],重量挙げ[Velloso 13],フィットネス[Kranz 13] など,各分野に限定した対象で提案されていますし,一般的な手法[Alemdar 11]もあります.

 長期のセンシングから,健康状態の判定に使う例もあります[Robben 14].

 睡眠時の状態と健康の関係の判定も可能性があります.ほかに,直接行動認識を行う以外のことを行っている例としては,一連のプロセスの中でどのフェーズを行っているかの認識[Ainsworth 11]や,工場の中で繰り返し行われる行動を教師なしで見つける手法[Maekawa 16, Xia 20] も提案されています.

 このように,パターン認識の枠にとらわれない応用は,今後多く開拓されることが期待できます.

3・ 6 チャレンジ6:深層学習の適用

 画像や音声,言語処理の分野では盛んに適用されている深層学習ですが,行動認識の分野においては,ツールの充実もあっていくつかの研究があります.おそらくはじめに畳込みニューラルネットワーク(CNN:Convolutional Neural Networks)を行動認識に使ったのは[Zeng 14] です.層を深く重ねてはいませんが,Max pooling やDropout といった,深層学習でよく用いられる手法を適用して評価しています.

 この後,深層化したCNN を用いた研究[Jiang 15] も発表されています.

 この研究では,画像で成功した深層学習にならって,センサデータのスペクトログラムを画像のようにみなして入力しています.系列データに適用できる,ループ構造をもつ再帰ニューラルネットワーク(RNN:Recurrent Neural Networks)も活用されています.[Hammerla 16] では,CNN やRNN といったさまざまな深層学習モデルを比較しています.

 特に,RNN については,直接センサデータを入力しているが,Recurrent 入力を前方向と後方向の双方向につなぐことで精度が良くなったことが報告されています.著者らの[Inoue 18] では,特徴量計算をせずにセンサデータに直接RNN を用いることで,行動認識について高いスループットを達成しています.

 [Ordoñez 16] では,上記のような時間窓に対するCNN の後段にLSTM を用いたRNN を構築しています.

 [Ordoñez 16] では,CNN が局所特徴を学習できる性質を利用して,特徴量の他のドメインへの適用(転移)を試みている点で特徴的です.ドメインとしては,他の利用者,応用分野,異なるセンサ,センサの取付け位置について網羅的に調べています.

 この後,一般の深層学習のトレンドに合わせて,Attention モデルを用いた時系列の中での着目点の活用[Wang19] や,GAN を使ったStyle Transfer [Suzuki 20] など,種々の深層学習手法が適用されています.

 ただし,深層学習はモデルの表現能力や学習能力は高いのですが, 学習には多くのデータが必要です.著者らがデータを提供して行った行動認識コンペティション[Nurse19, Cook 20, Nurse 20][91] ~ [93] においてはいずれも,深層学習以外の機械学習を使ったチームが優勝しています.後述する,データセットの収集と研究者間の共有がまだまだ必要だと考えます.

3・ 7 チャレンジ7:マルチモーダル学習

 画像や音声,自然言語といった他の分野では,画像に要約文をつけたり,テキストから画像を生成したり,多言語間の翻訳を行うといったマルチモーダル学習技術が,さまざまな深層学習モデルの進展もあって盛んです.このように,他の種類のデータと一緒にセンサデータを扱うことで,データ間の変換(翻訳)や抽象化,生成といった新しい分野が期待できます(ただし後述のデータ収集はもっと難しくなります).上記のようなマルチモーダル学習は,画像と文章が一緒に載ったWeb ページのような,対応付けられたデータが大量に入手可能な時代だから可能になってきており,このようなマルチモーダルなデータの収集も,より難度の高いチャレンジとなってきます.
 このような異種データを活用した例として,私達の研究[Inoue 16] では,看護師の行動データと位置情報,入院患者の医療支払いデータであるDPC データと毎日の記録である看護必要度データを結合し,さまざまな機械学習を行い,「患者のある日の状態から,次の日の各看護行動の長短を予測できるか」,「ある日の各看護行動の時間から,患者の入院期間の長短や退院時健康状態が改善するかを予測できるか」といったいくつかの近未来予測を行いました.このように,異種のデータが結合できる状態で入手できるだけで,幅広い目的の分析や予測が可能になります.

 また,[Lago 20] では学習時にはモーションキャプチャのようなリッチなセンサで学習し,利用時にはシンプルなセンサで認識するという設定に取り組んでおり,機械学習としても面白い問題です.

3・ 8 チャレンジ8:データの収集

 データ収集や,実際の環境における行動認識の実験計画に関するチャレンジも多くあります.標準的なデータセットを整備することは,研究の再現性のために非常に重要であり,末尾に示すようにいくつかのデータセットが公開されています.ただ,音声認識や画像認識といったある程度蓄積がある分野に比べて,人間の行動に関する普遍的で豊富なデータセットを収集するための努力は,まだまだ必要だと考えます.
 実験においては,これまでに紹介したように,応用によって異なる行動の定義,センサの種類,データの品質,収集期間,被験者の数といった,多様な要求に応える必要が出てきます.しかし,適切に行動認識の実験を計画し実施するには実験の準備において発生するさまざまなトレードオフに対応するノウハウや経験が必要となりますし,新しいセンサを試みたくなれば,ハードウェアを含めた開発の期間やコストがかかります.通常のハードウェア試作であれば数個の調達で十分であっても,行動認識の実験においては数十個のセンサデバイスが必要になることも多くなります.開発期間やコストを考えると,このような個数を確保することも難しい場合が多いです.
 特に,機械学習および精度の評価をするためには,教師ラベル付きのデータが必要ですが,他の教師あり学習用データと同様,この部分が非常に手間がかかります.

  • 教師ラベルの付与(アノテーション)は,リアルタイムに行うとしても,本人が行うと行動そのものがおかしくなってしまう
  • 本人が何らかの業務を行っているとしたら業務に影響が出る可能性がある
  • 観察する人を用意して手作業で行うとしても,その人的リソースがかかる
  • 後でアノテーションを行うとしても,生データをすべて見て目視でラベルを付けるという作業が発生し,実際の行動時間以上の時間がかかってしまう
  • 加速度センサのようなセンサデータは,ビデオカメラのようなセンサのデータよりも解釈が困難なことが多い
  • 一定箇所で行動したり実験室で計測する場合には,ビデオカメラのような計測機器を設置できるが,日常生活のような場合には,それも難しいことが多い

といった難しさがあります.
 こういった教師ラベルに求められる厳密さを緩和する方法として,本人の記憶に基づく方法[Learhoven 08] や,経験に基づくサンプリング[Kapoor 08] を適用し補完する方法が提案されています.

 著者らも,ラベルの時刻が不正確な場合にも精度を向上する手法を提案しています[Toda 16].

 同様の取組みは近年にも発表されました.

 ほかにも,少ないラベルありデータと多くのラベルなしデータを組み合わせて学習する半教師あり学習もあります.

 ほかの利用者や家庭のデータから転移学習を行うもの,

 能動学習による手法や,

 参加型センシングやクラウドセンシングと呼ばれる,不特定多数にタスクを依頼するクラウドソーシングに関連した手法も考えられます.

 著者らの研究でも,クラウドソーシングによるデータ収集において能動学習の評価式を用いて参加者の動機付けをする方法を提案しました.

  • [Nattaya 21] Nattaya, M., et al.: CrowdAct: Achieving high-quality crowdsourced datasets in mobile activity recognition, Proc. ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies(accepted.)

 ここにあげた文献数が示すように,データが少ない場合に統計的手法を用いて精度を上げる研究は論文になりやすいのですが,データ収集そのものはやはり論文になりにくい傾向にあります.そういう事情もあり,著者ら達はデータセットを提供したコンペティションを積極的に開催し,データセットの提供とコンペティションの参加が,論文出版につながるような取組みを続けています!

4.学 会 な ど

 センサ行動認識が発表される学会はいろいろありますが,UbiComp 国際会議および併催するISWC(ウェアラブルコンピューティング)シンポジウム,そしてIEEE PerCom がこの分野の最難関カンファレンスです.2017 年からUbiComp,2020 年からISWC が,IMWUT というジャーナルモデルに変更になり,年4 回の締切りに投稿し,採録されたらUbiComp/ISWC 国際会議で発表するという仕組みになりました.

 最近はSensors というオープンアクセスジャーナルも盛んになってきています.

 これらはユビキタスやウェアラブル一般の話題ですが,著者らは,UbiComp/ISWC にて行動認識に特化した併設ワークショップとして[HASCA] を2013 年から開催しており,この国際会議で最大のワークショップとなっています.

 また,2019 年から著者を中心にActivity and Behavior Computing という国際会議を立ち上げ,センサ行動認識およびその応用に特化した国際会議を開催しています.ご興味ある方はぜひ投稿をご検討いただければと思います.

4・ 1 チャレンジ8:データの収集

 センサ行動認識アルゴリズムを提案する際は,複数のデータセットで評価することが普通です.現在公開されているデータセットを列挙します.

 これらのデータのうちいくつかは,論文での評価によく使われています.ただ,これらのデータセットの行動種は,一般の行動に限定されています.応用の多様性という意味ではもっと種々の応用や行動種のデータセットが必要です.そこで,著者らは以下のコンペティションと合わせて,いくつかのデータセットを提供しています.

4・ 2 コンペティション

 上記HASCA ワークショップやABC 国際会議において,いくつかのコンペティションを行っており,センサ行動認識の研究を始めたばかりの学生などが盛んに参加し,さらに論文も出版されるので,お得なコンペティションとなっています.センサ行動認識にご興味のある方,ぜひご参加されてはいかがでしょうか?

4・ 3 チュートリアル,コード付き論文

 センサ行動認識のサンプルプログラムを知りたい場合には,以下にPython でのチュートリアルがあります.

こちらも,Python でのチュートリアルです.

 また,PaperWithCode というサイトで検索をすれば,GitHub などでコードを公開している論文が見つかり,便利です.例えば次のように検索するとよいでしょう.いくつかの論文とコードが見つかります.

 これらのブックマークをもとに皆さんもセンサ行動認識にチャレンジして,コンペティションに参加して,論文出版を目指しましょう!