O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

手と物体とのInteractionを検出するアプリケーションの開発

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 23 Anúncio

手と物体とのInteractionを検出するアプリケーションの開発

Baixar para ler offline

モルフォのインターンシップで取り組んでいただいた内容です。
詳細は、Morpho Techblogをご覧ください。
https://techblog.morphoinc.com/

モルフォのインターンシップで取り組んでいただいた内容です。
詳細は、Morpho Techblogをご覧ください。
https://techblog.morphoinc.com/

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Semelhante a 手と物体とのInteractionを検出するアプリケーションの開発 (20)

Mais recentes (20)

Anúncio

手と物体とのInteractionを検出するアプリケーションの開発

  1. 1. 手と物体とのInteractionを検出する アプリケーションの開発 インターンシップ最終報告会 山本航輝 1
  2. 2. 目次 1. 開発背景 2. Webアプリケーション概要 3. 手と物体の検出・分類 4. 文の出力 5. Webアプリケーションの実装 6. 改善点・課題 2
  3. 3. 目次 1. 開発背景 2. Webアプリケーション概要 3. 手と物体の検出・分類 4. 文の出力 5. Webアプリケーションの実装 6. 改善点・課題 3
  4. 4. Vision-Languageデータセットの拡充 大規模pre-trained + fine-tuning 用のデータが必要 データセットのアノテーションコスト問題 VLデータセットにおける情報の不足 大規模なVLデータセットの多くは画像(動画)+キャプション ex) Ego4D(7TBのデータセット https://ego4d-data.org/) domain-specificなタスク(料理動画からのレシピ生成等)には不十分 手と物体の関係を自動で検出できればrichな情報を持つ データセットが作れる 4 imgae: https://ego4d-data.org/
  5. 5. 目次 1. 開発背景 2. Webアプリケーション概要 3. 手と物体の検出・分類 4. 文の出力 5. Webアプリケーションの実装 6. 改善点・課題 5
  6. 6. アプリケーション概要 6 手と物体のInteractionを文として出力 入力:画像 or 動画 出力:アノテーションされた画像 手の状態を表すテンプレート文 手と物体の検出:Hand Object Detector 物体の分類:EfficientNet 言語モデルによる文章生成までは至らなかった…
  7. 7. 目次 1. 開発背景 2. Webアプリケーション概要 3. 手と物体の検出・分類 4. 文の出力 5. Webアプリケーションの実装 6. 改善点・課題 7
  8. 8. MediaPipeによる手の検出 最初の戦略 手を検出するモデル+物体を検出するモデル 各モデルの出力を利用 MediaPipe Hand Tracking https://mediapipe.dev/ Googleが公開しているMLフレームワークの一種 手の追跡・各pointの検出(三次元) バラバラのモデルでは厳しい 各モデルの出力をどう利用するのか 物体の三次元座標取得が難しい 8 出典: https://google.github.io/mediapipe/ solutions/hands
  9. 9. Hand Object Detectorによる検出 手の状態と物体を検出 Understanding Human Hands in Contact at Internet Scale Hand Side, Hand State, Bounding Boxを付与 N: 接触なし(No Contact) S: 自身に触れている(ex: 胸に手を当てる) O: 他人に触れている P: Portableな物体に触れている F: Portableでない物体に触れている (ex; テーブルなど) 9 画像:https://github.com/ddshan/hand_object_detector
  10. 10. システム概要 Faster RCNN(FRCNN) + Lossの追加による学習 RCNN: Region based Convolutional Neural Networks 10 出典:https://github.com/ddshan/hand_object_detector
  11. 11. Loss追加による学習 Loss追加によって学習を回す FRCNNの出力に全結合層を2つ追加 𝒔 ∈ 𝑹𝟐 : 手の左右を表す2次元ベクトル 𝒄 ∈ 𝑹𝟓: Contactの状態を表す5次元ベクトル それぞれのクロスエントロピー誤差𝑳𝒔𝒊𝒅𝒆, 𝑳𝒔𝒕𝒂𝒕𝒆を最小化するよう学習 𝑳𝒔𝒊𝒅𝒆 𝒔′, 𝒔 = − 𝒊 𝒔′ 𝒊 𝒍𝒐𝒈 𝒔 𝒊 , 𝒔’は教師ベクトル 学習の詳細 データセット: DOH100 Backbone: ResNet-101 Batch size: 1 Epoch: 8 11
  12. 12. EfficientNetによる物体の分類 検出されたObject ⇒ 物体名 軽量かつ高精度なEfficientNetを使用 MMClassification 様々な画像分類モデルが公開されている 生成モデルやトラッキングも 12 Class: BasketBall Score: 49.0% EfficientNet 画像:https://www.gettyimages.co.jp/editorial-images
  13. 13. 目次 1. 開発背景 2. Webアプリケーション概要 3. 手と物体の検出・分類 4. 文の出力 5. Webアプリケーションの実装 6. 改善点・課題 13
  14. 14. 手の状態を文として出力 モデルの出力からテンプレート文を作成 テンプレート: {Hand Side} Hand: {Hand Statusに応じた文} No Contact ⇒ No Contact Self Contact ⇒ Self Interaction Other person ⇒ Contacting with another person Portable Object ⇒ Contacting with {EfficientNetによる分類結果} Stationary Object ⇒ Contacting with stationary object Stationary Objectの分類はうまくいかない (ほとんどのStationary Objectは見切れている) 14
  15. 15. 目次 1. 開発背景 2. Webアプリケーション概要 3. 手と物体の検出・分類 4. 文の出力 5. Webアプリケーションの実装 6. 改善点・課題 15
  16. 16. Web開発フレームワークの選定 Streamlit HTML, CSSの知識が必要ない 機械学習を利用したWeb appに用いられることが多い Flask Streamlitよりも自由度が高い HTML, CSSの知識は必要 Django データベースや認証機能に強い 学習コストは高め 16
  17. 17. Streamlit 導入コストが低い https://streamlit.io/ pipによるインストールだけで使える (仮想環境は必須??公式はpipenv推奨) 学習コストが低い Webアプリに必要な機能が簡単に書ける HTML, CSSの知識を必要としない ⇒ 学習状況の把握やモデルのデモに最適 17
  18. 18. ディレクトリ構成 18 Hand Object Detector用のフォルダ EfficientNet用のフォルダ Streamlitが呼び出すプログラム
  19. 19. 実際の画面 19 画像をアップロード アノテーションされた画像 を表示 手の状態を文章で出力
  20. 20. Streamlitを触ってみて デモ用のUI開発が早い とりあえずデモを見せるのによさそう 各機能の実装が簡単 Pythonだけで書ける(HTML, CSS不要) 色々な機能があらかじめ容易されている デプロイも容易(らしい) https://streamlit.io/cloud Streamlit Cloudへの登録とGithubで出来る 20
  21. 21. 目次 1. 開発背景 2. Webアプリケーション概要 3. 手と物体の検出・分類 4. 文の出力 5. Webアプリケーションの実装 6. 改善点・課題 21
  22. 22. 言語モデルによる文生成 Occlusion問題 物体の全体を検出できない ⇒ 前フレームの情報を使う? テンプレート文 ⇒ 柔軟な文の生成 テンプレート文では『手が何をしているか』はわからない Right Hand: Contacting with pen. ⇒ Right Hand: Writing paper. フレームレベルではなく動画レベルでの生成 動作の情報が必要 CopyNetを活用?(https://arxiv.org/abs/1603.06393) Object + State + verb ⇒ Transformer + CopyNet 22
  23. 23. インターンシップを通して 「課題 ⇒ 手法の検討 ⇒ 実装 ⇒ 公開」の体験 課題 ⇒ 手法の検討の部分が重要 Vision-Languageの知識不足 単純なComputer Vision + 自然言語処理ではない Computer Vision, 自然言語処理に関する幅広い知識ももちろん欠かせない 機械学習の知識だけではダメ ライブラリの依存関係やメモリ効率などコンピューターサイエンスの 知識は重要 コードは綺麗に書きましょう(自戒も込めて 23

×