Generating Notifications for Missing Actions:Don’t forget to turn the lights off!...

Preview:

Citation preview

ICCV 2015読み会 Generating Notifications for Missing Actions:

Don’t forget to turn the lights off!

牛久 祥孝losnuevetoros

お前は誰だ?~ 2014.3 博士 ( 情報理工学 ) 、東京大学• 画像説明文の自動生成

• 大規模画像分類

2014.4 ~ NTT コミュニケーション科学基礎研究所

お前は誰だ?今年度の kantocv イベント5 月 有名論文読み会7 月 CVPR2015 読み会10 月 コンピュータビジョンのお仕事2 月 ICCV2015 読み会

発表者枠で皆勤賞!

connpass への登録忘れもほぼ皆勤賞…

誰かに自動で教えてほしい

論文読むって言ったけどまた connpass の発表者枠登録してねーぞボケ

本日の論文

要求機能• ユーザーの現在の行動を認識する– 終了する前に、なるべく早く→早期イベント認識– 行動の切れ目はわからない→エゴモーション認識と動画分割の同時推定

• やり忘れた行動があるかどうかを判定し、リスクが大きければアラートを出す– 予め一連の行動の関係性を学習しなければいけない→動作系列の認識

要求機能• ユーザーの現在の行動を認識する– 終了する前に、なるべく早く→早期イベント認識– 行動の切れ目はわからない→エゴモーション認識と動画分割の同時推定

• やり忘れた行動があるかどうかを判定し、リスクが大きければアラートを出す– 予め一連の行動の関係性を学習しなければいけない→動作系列の認識

論文中の数式(番号付き)も全て解説します!!!!

アラート発報の判定本論文唯一の番号付き数式!

アラート発報の判定• 時刻 における動作を識別した結果• 時刻 から 経った後の時刻  における動作を識別した結果

時刻  でアラートを発報するスコア(値が大きいと発報)バイアス

アラート発報の判定• 時刻 における動作を識別した結果• 時刻 から 経った後の時刻  における動作を識別した結果

ある動作の 始まり途中終わり

アラート発報の判定• 時刻 における動作を識別した結果• 時刻 から 経った後の時刻  における動作を識別した結果

ある動作の 始まり途中終わり

要するに…ある動作の終わり↓ある動作の始めとなれば 1 をとる他は 0 とか -1 とか

アラート発報の判定• 時刻 における動作を識別した結果• 時刻 から 経った後の時刻  における動作を識別した結果

動作   と動作   の間のタイミングでなされるべきだった動作

アラート発報の判定• 時刻 における動作を識別した結果• 時刻 から 経った後の時刻  における動作を識別した結果

動作   と動作   の間のタイミングでなされるべきだった動作動作   の前にその動作をやり忘れたことによるコスト

まだ謎なポイント• 忘れた動作とかそのコストはどう計算するの?→ 動作間依存関係の獲得へ

• 動作   の推定はどうするの?– 動作の終わりとか始まりとかもどう学習するの?– そもそも、動画の分割はどうするの?→ 動作認識とセグメンテーションの同時推定へ

まだ謎なポイント• 忘れた動作とかそのコストはどう計算するの?→ 動作間依存関係の獲得へ

• 動作   の推定はどうするの?– 動作の終わりとか始まりとかもどう学習するの?– そもそも、動画の分割はどうするの?→ 動作認識とセグメンテーションの同時推定へ

• 忘れた動作とかそのコストはどう計算するの?→ 動作間依存関係の獲得へ

動作間依存関係の獲得Flexible Ordered Graph の作成(ラテ作りを例に)• ラテ作り中に起こりうる動作を列挙• 問題なくラテを作れた時のエゴモーション+各時点での動作のラベル、を複数収集• 動作間の順序をグラフで表現– ノードは各動作– エッジは:

• 動作間の遷移を意味• ある動作ペア    の遷移確率 の逆数

忘れた動作とそのコストの推定• ある動作  の前に別の動作  を実行しないコスト=動作  の後に動作  を実行する困難さ– ラテ作りでの例:「ミルクを注ぐ」後に「スチームミルクを作る」のは困難– コスト=経路中のエッジ重みの和の最小値

忘れた動作とそのコストの推定• ある動作  の前に別の動作  を実行しないコスト=動作  の後に動作  を実行する困難さ– ラテ作りでの例:「ミルクを注ぐ」後に「スチームミルクを作る」のは困難– コスト=経路中のエッジ重みの和の最小値

まだ謎なポイント• 忘れた動作とかそのコストはどう計算するの?→ 動作間依存関係の獲得へ

• 動作   の推定はどうするの?– 動作の終わりとか始まりとかもどう学習するの?– そもそも、動画の分割はどうするの?→ 動作認識とセグメンテーションの同時推定へ

まだ謎なポイント• 忘れた動作とかそのコストはどう計算するの?→ 動作間依存関係の獲得へ

• 動作   の推定はどうするの?– 動作の終わりとか始まりとかもどう学習するの?– そもそも、動画の分割はどうするの?→ 動作認識とセグメンテーションの同時推定へ

• 動作   の推定はどうするの?– 動作の終わりとか始まりとかもどう学習するの?– そもそも、動画の分割はどうするの?→ 動作認識とセグメンテーションの同時推定へ

動作認識+セグメンテーション• 動画像を微小な区間に分けてそれぞれを識別

– フレームをフレームの区切りに分割– 識別器は単純な線形 SVM– クラスは動作ごとの始まり、途中、終わり

本論文だと、ラテ作りの基本動作 29 動作 ×3 = 87 クラス各動作が始まり→途中→終わりの順に識別されんの?

動作認識+セグメンテーション• HMM の利用– 各動作の仮定• 「始まり」が必ず 1 区間• 「途中」が 0 区間以上• 「終わり」が必ず 1 区間

– 動作の遷移は Viterbi で解ける

基本動作数 × 「始まり」「途中」「終わり」の 3 パターン

実験設定• ラテ作りデータセット– Looxcie HD を装着– 20 名のラテ作り動画• 約 10 万フレーム、 15fps• 訓練サンプル: 23 本の完全な動画• テストサンプル: 18 本の動作忘れあり動画

– 29 の基本動作に基づいてラベル付け• 画像特徴量: Gist [Oliva+Torralba, 2006]

– シーン認識でよく用いられる– エゴモーションでは、自身より視線の先のシーンの情報が有用

[AV Watch, http://av.watch.impress.co.jp/docs/news/20130321_592598.html]

動作認識精度

セグメントがわかっている各動作の「始まり」識別器を利用

各動作の初めの時点(オレンジ矢印)でアラートを出したいので赤枠のビデオでの動作認識精度は重要

セグメントがわかっているHMM で系列の最適化セグメントが未知HMM で系列の最適化緑枠のビデオでの動作認識精度HMM で系列の最適化緑枠のビデオでの動作認識精度HMM で系列の最適化後の動作から過去の動作認識を変更可

動作認識精度• 各動作の「始まり」「途中」「終わり」識別器

• 早期イベント認識の先行研究との比較– MMED

[Hoai+De la Torre, CVPR 2012]

– 定性的な違い:MMED では「始まり」「途中」「終わり」の区別と遷移ルールがない

最終的なシステムとしての評価

ベースライン:もしランダムにアラートを出すと…• Precision 0.0007• Recall 0.1

ベースラインは超えるが、まだまだ難しいタスク

指摘した動作は真に指摘するべき動作だったか 適切なタイミングの前後 25 フレームで適切な動作をリマインドできたか

まとめと所感• 物忘れ防止システムへの挑戦的な取り組み• 実環境に即した設定– エゴモーション動画を対象– セグメンテーションと動作認識の同時推定– 動作の早期認識

一方で…• ラベル付けの段階でルールベースな匂いが• 同時に複数の動作をする場合を想定せずエスプレッソ作る操作しながら牛乳スチームするとか• 日常生活ではより複雑に動作が発生するのでは

ラテ作りながらおやつ作って、合間にスマホいじって…

まとめと所感• 物忘れ防止システムへの挑戦的な取り組み• 実環境に即した設定– エゴモーション動画を対象– セグメンテーションと動作認識の同時推定– 動作の早期認識

一方で…• ラベル付けの段階でルールベースな匂いが• 同時に複数の動作をする場合を想定せずコーヒーマシン操作しながら牛乳注ぐとか• 日常生活ではより複雑に動作が発生するのではラテ作りながらおやつ作って、合間にスマホいじって…

強いコントリビューションがひとつでも、明確に伝わればオーラルに採択されるという例かも

付録:ラテ作りの基本動作

Recommended