会話認知拡張アプリ

https://github.com/fukai0116/58Hackathon

React

Python

人と会話するときにキャッチできなかった相手の微細な変化を分析する

nb9nikh8c78

Toshi

推しアイデア

人間の会話機能を拡張し、相手の裏にある感情や目的を可視化する。 他人との会話を円滑に進める。

作った背景

日々の会話に新たな情報が欲しいと感じたため。 相手の発言の意図や感情の変化に気づくには生身の人間には限界があります。そこをAIによって分析してもらうことで些細な変化を見逃さず会話が円滑に進むと思ったから。

推し技術

DeepFace + FastAPI によるリアルタイム感情分析

プロジェクト詳細

概要

人と会話するときに受け取れきれなかった相手の微細な変化をアプリ分析し、会話の補助してくれる。些細な表情や声色の変化、喋った内容から相手がどういう感情と意図でそれを発言したのかを教えてくれるアプリ

技術構成

フロントエンド:React + Vite(TypeScript) バックエンド:FastAPI(Python) ライブラリ/外部API 【表情認識】 DeepFace:静止画から表情(怒り/嫌悪 /恐れ /喜び/悲しい/驚き/無表情)を推定。 【ジェスチャー】 MediaPipe Tasks (GestureRecognizer):手のジェスチャーをリアルタイム検出 【目的・意図の推定】 Gemini API(1.5 Flash):感情>ジェスチャー>テキストの優先度で総合判断。

【音声認識】 - サーバーモード:faster-whisper(小型モデルsmall, CUDA対応時はGPU/FP16) - ブラウザモード:Web Speech API

機能

  • 会話内容の文字起こし
    • サーバーモード(faster-whisper)とブラウザモード(Web Speech)を切替可
    • サーバーは録音停止時にまとめて文字起こし。ブラウザはリアルタイムで即時に文字起こしがされる
  • 顔の表情からの感情分析(0.5秒間隔)
    • DeepFaceで顔の表情からその時の感情を分析・取得し、顔付近に日本語で表示
  • ジェスチャー取得(リアルタイム)
    • MediaPipeで手のジェスチャーを検出し、顔付近に日本語で表示(例:Thumb_Up→「いいね」)
  • AIによる本当の感情と意図の分析
    • 直近の「感情スナップショット」と「ジェスチャー」と「テキスト」を1セットでGeminiへ送信
    • 優先度は「①感情 → ②ジェスチャー → ③テキスト」
    • 応答の「①本当の感情と意図」「②心の声」を顔の周りに別々のオーバーレイで表示

UIポイント

  • 顔位置検出:MediaPipe FaceLandmarkerを用い、テキストオーバーレイは顔の周りに配置
  • ①本当の感情と意図:長文は80文字程度で省略し、発話テキストと表情のマッチ度から相手がどういう感情と意図でそれを発言したのかを分析する
  • ②心の声:長文は60文字程度で省略そ、本当は何を考えているのかを「」で囲いるのかを

AIを活用した点

アイデアが固まったのが発表前日の夜だったので、github copilotのAgent機能を使って開発のスピーディーに進めてきました。

参考記事

人間の機能拡張 AIによる脳機能拡張(AIを用いた知覚・感性・認知能力の拡張) AI感情認識の実力:どれほど正確なのか? DeepFace: Pythonで始める顔認識

今後の展望


音声入力をリアルタイム化したい。 感情の波や思考の流れを時系列で可視化したりするようにしたい。 会話相手と自分の音声区別するために話者認識を行う。 会話から関係性分析や、話題の傾向分析を行う。 リアルタイム字幕と感情メーターの合成表示。 感情と話題のヒートマップ化やダッシュボードで表示したい。

nb9nikh8c78

@9431abf4b309cc7f