見出し画像

[IMWUT2022採択] 料理やセルフケアなどの行動ステップをトラッキングするマルチモーダルセンシングフレームワーク

ヒューマンコンピューターインタラクション(HCI) のトップ国際論文誌のひとつである ACM IMWUT に、荒川(カーネギーメロン大学)、矢倉(筑波大学)が CMU の研究室で取り組んだ論文 “PrISM-Tracker: A Framework for Multimodal Procedure Tracking Using Wearable Sensors and State Transition Information with User-Driven Handling of Errors and Uncertainty” が Full paper で採択されました。これは、料理・工作・手術後のセルフケアなどの様々なタスクのステップを、スマートウォッチを用いたマルチモーダルセンシングを通して追跡するフレームワークを提案するものです。本記事では、その内容について簡単に紹介したいと思います。

開発したフレームワークと使用したデータセットはGitHub上で公開しています。

1. 背景

私たちは日々数多くのプロシージャタスク (いくつかのステップを順序通り行うタスク) を行っています。例えばカレーを作るというタスクは、手を洗う、野菜を切る、煮込む、…といった細かなステップの連なりです。こういったプロシージャタスクの中には、いろんなハードルが存在することもあります。例えばある料理に初めてチャレンジする場合、そのステップの順番についてのガイドが必要となるでしょう。また慣れたタスクであっても、注意していないと、調味料を入れ忘れることがあるかもしれません。これを防ぐためには、ステップを正しく順番通りに行えているかチェックが必要です。

料理は複雑なステップの連なりであるプロシージャタスク

こういったプロシージャタスクをサポートするためのコンピュータ技術の研究も多く存在しています。そのほとんどは外部のカメラなどを使って、人の行動をトラッキングする技術がベースになっています。

ステップに合わせた情報提示をする料理アシスタントシステム: MimiCook [1] 

カメラベースのシステムは精度高くトラッキングができる一方で、ユーザのプライバシの観点や、環境に設置する必要性などが実用上のハードルとして残ります。

そこで本研究では、カメラに頼らず、身近なウェアラブルデバイスであるスマートウォッチを用いて、プロシージャタスクのアシスタントシステムを作ることを目的に、マルチモーダルセンシングのフレームワークを開発しました。

2. 関連研究

スマートウォッチ等で採取可能な音やモーションセンサを用いて、人がどのようなことをしているかを認識する技術は Human Activity Recognition (HAR, 行動認識) と呼ばれる分野で、盛んに研究が行われています。

スマートウォッチ (音・モーション) から27種類の行動を識別するシステム: SAMoSA [2]

これらを使うことで、プロシージャタスクの各ステップの認識もできてしまいそうですが、実際は大きな壁が存在します。

  • 従来の HAR は区別しやすいような行動 (ドライヤー、歯磨きなど) を対象としている一方で、プロシージャタスクのステップは「そこまで特徴的なシグナルを含まないであろうもの」が含まれることが多い

  • 従来の HAR は一定時間行動が続くことが前提としているが、プロシージャタスクの各ステップに要する時間はバラバラであり、ごくごく短いものも存在する

HAR では90%を超える高精度で行動を認識できている研究が多く存在する中で、それを料理などのプロシージャタスクに適用した例では、70%の精度を上回るものはほとんどなく、大きなギャップが存在していました [3]。

3. 提案フレームワーク: PrISM-Tracker

そこで私たちは、様々なプロシージャタスクでロバストにトラッキングを行うためのフレームワーク PrISM (Procedural Information from Sound and Motion) - Tracker を提案しました。

PrISM-Trackerの全体像

細かな説明は論文に委ねたいと思いますが、ポイントは以下の通りです。

  • データから、プロシージャの遷移情報 (どういう風にステップ間を移動するか、どの程度時間を使うのか) をグラフ構造で表すモジュール

  • 新たに開発したビタビアルゴリズムの拡張に基づく時系列トラッキング手法によって、上のグラフを効果的に活用し、マルチモーダルなトラッキングを行うモジュール

  • Human-in-the-loop のやり方で、インタラクティブに人の力を借りてトラッキングを行うモジュール

最後の点は、例えば過去のデータから「料理を行う際の、玉ねぎを切るステップの検出が難しい」ということが分かっているときに、ユーザに「玉ねぎを切る際は教えてください」とお願いをしたり、トラッキング中に自信がなくなったとしたら、ユーザに「今何をしていますか?」と尋ねるといったインタラクションを想定しています。つまり、人の力を借りてモデルが不可避的に持つ誤りや不確実性に対処するといったアプローチとなります。これによって、センサレベルでは見分けがつかないようなステップを含むプロシージャタスクであっても、ロバストなトラッキングを達成できます。

インタラクティブにトラッキングの確からしさを向上させる

もちろん、毎回ユーザに何をしているのかを尋ねてよければ100%の精度を達成できますが、その分ユーザの認知負荷が増加してしまいます。PrISM-Tracker ではユーザの回答を使う回数をなるべく減らすような探索をします。言い換えると、ユーザの回答を使う回数と最終的な精度のトレードオフをシミュレーションして、提示することができます。これによって、プロシージャトラッキングのアプリケーションを開発するデザイナーやディぺロッパが自在に Human-in-the-loop の度合いを設計することが可能になります。

※ こういった Human-in-the-loop による AI のエラーや不確実性に対応するアプローチは、以下で紹介した研究 [4] でも用いていました。

4. 実験と結果

提案フレームワークの有効性を調べるために、以下の複数のタスクで実験を行いました。

  1. 実験室にあるエスプレッソマシンの使用タスク (19ステップ)

  2. 病院で手術後のセルフケアタスク (12ステップ)

ここでは、フレームワークの一般化性能を調べるため、異なる状況で異なる遷移グラフ (ステップ間の分岐の仕方) を持つようなタスクを選んでいます

拡張ビタビアルゴリズムによってどの程度精度が向上したのか、Human-in-the-loop のアプローチでどういう結果が得られたのか、入力のモダリティ (音響とモーション) が減ったりするとどうなるのか、など多様な観点から詳細に結果を議論していますので、ぜひ論文を読んでいただきたいです!

簡単に2つの実験の結果をまとめると以下のようになります。

  • 従来の行動認識の手法では精度は40%ほどで低い

  • 拡張ビタビアルゴリズムによって精度は大幅に向上するが、それでも90%などの高精度には達しない

  • Human-in-the-loop のアプローチによって人への負担を最適化する形で、さらに精度が向上する

5. まとめ

まとめると本論文では、以下のような貢献をしました。

・スマートウォッチによるプロシージャタスクのトラッキングのためのフレームワークである PrISM-Tracker を提案
・ユーザ実験により、フレームワークの提案である 1) 遷移情報を活用した拡張ビタビアルゴリズム, 2) Human-in-the-loop な不確実性への対応手法 の有効性を確認
・提案フレームワークはオープンソースとして公開

今後の展望としては、このフレームワークをスマートウォッチ上でリアルタイムに動くシステムとして実装し、デプロイを通じて評価を行いたいと考えています。特に、ユーザがどういった時にシステムに対してきちんと返答をするのか、それはユーザがタスクに慣れていくにつれてどう変化していくのか、といった Human-AI Interaction の観点からの探索に興味があります。

映像に頼らないプロシージャタスクのトラッキングという問題設定自体が、データセットが多くなく、手法の提案も例えばコンピュータビジョンの研究に比べて多くはありません。そのため、今回取り扱ったデータセットに加えて、ベンチマークとなるような大規模なデータセットを作ることで、研究分野自体を加速させられるのではないかと考えています。

また、今回2つの実験のうち1つは、手術後のセルフケアのサポートシステムを想定して設定したものでした。現在、病院と連携しながら実際にデプロイをできるように開発を進めています。高齢の方が多い患者さんに使用してもらう際にはユーザ体験を洗練させ、利便性を向上させていく必要があり、医療関係者と連携して開発に取り組んでいます。

6. FAQ

Q1. Human-in-the-loop 手法は3つのものを導入・比較していますが、どのようにしてその3つを選択したのですか?

A1. 今回は 1) 「あるステップを始めるときに教えてください」、2) 「今何をしていますか?」、3) 「今◯◯◯のステップを行なっていますか?」の3つのやり取りを導入しました。ユーザから回答をもらうことで得られる情報量の大きさは 1 > 2 > 3 のようになっており、反対にユーザがいかに楽にその回答ができるかは 3 > 2 > 1 のようになっています。本研究ではこのトレードオフの関係性を調べることもひとつの目的でした。今後は実際にユーザにシステムを使ってもらった際に、どの程度認知負荷を感じるのか、そしてどのやり取りを好むのかといったところを調査したいです。

Q2. どのようにして今後 Human-in-the-loop の実装をする予定ですか?

A2. ユーザがシステムとやりとりするチャネルとしては音声を考えています。本論文の中でも、予備実験的に「今何をしていますか?」と聞かれた時を想定して、タスク中に行なっているステップを口頭で答えてもらうという作業をお願いしました。そして、それをスマートウォッチで集音したものを音声認識し、自然言語処理で分類するという実験をしました。結果として高精度で分類できることが確認できたため、やりとりのチャネルは音声が有力かと考えています。しかし音声を使う場合は、トラッキングに用いている音響信号にも声が乗ることになるため、音響の行動認識のモデルに工夫を加える必要があり、現在はその方法も模索しています。

Q3. どのような遷移関係のタスクでも大丈夫なのですか?

A3. 世の中にあるプロシージャタスクは様々な遷移を含んでいます。たとえば、同じ複数のステップを何度も繰り返すようなループを含む場合もあり得ます。そういった場合でもグラフ構造として記述できる限り、PrISM-Tracker は対応が可能です。理論的にはステップ数が大量の場合、メモリや計算コストが大きくなってしまいますが、ユーザが行う実タスクとして想定される範囲(数十のオーダー)であれば問題は生じません。

参考文献

[1] A. Sato, et al. 2014. MimiCook: A Cooking Assistant System with Situated Guidance. Proc. ACM TEI, 121-124.
[2] V. Mollyn et al. 2022. SAMoSA: Sensing Activities with Motion and Subsampled Audio. Proc. ACM IMWUT, 1-19.
[3] K.H. Spriggs et al. 2009. Temporal segmentation and activity classification from first-person sensing. Proc. IEEE CVPR, 17-24.
[4] R. Arakawa and H. Yakura. 2022. BeParrot: Efficient Interface for Transcribing Unclear Speech via Respeaking. Proc. ACM IUI, 823-840.

この記事が気に入ったらサポートをしてみませんか?