SignChat”手話ビデオ通話アプリ”

https://github.com/Koonosuke/progatehack07/tree/10-ollama

Next.js

TypeScript

AWS

DynamoDB

ECS

ろう者 × 聴者が、自然に手話で会話できる ビデオ通話アプリ

岸幸之介

吉村巧

山中遥太

推しアイデア

耳が聞こえない人とも通話できたらめっちゃ面白いでは?

作った背景

・手話が通じない場面に多く出会った。 ・自分たちの技術で 言語の壁をなくしたい!

推し技術

・MediaPipe + AWS Bedrock で手話を自然言語に変換 ・ECSによるコンテナアプリケーション

プロジェクト詳細

アプリ概要 / コンセプト

耳が聞こえなくても。手話ができなくても。 技術でろう者と聴者のコミュニケーションをつなぐ Web通話アプリです。

コンセプト: ・耳が聞こえない人とのコミュニケーションの敷居を下げる

アプリデモ動画

https://drive.google.com/file/d/1DUOdAJFJrrSNjtaop20y6w_YBCzT_6_W/view

主要機能 ろう者について 両手にランドマークを描画し、手話を認識します。 ”アクションを認識”ボタンを押せばAIが認識した単語をUI上に表示し、 "文章を生成する"を押すことで単語の集まりだったものをAIが文脈をくみ取って文に整形してくれます。

聴者について 同じように手話をする必要はありません。 いつも通り喋ってもらえれば音声認識機能が勝手に文字おこしをしてチャットに送信してくれます。

認識する手話について 本サービスはアメリカ式英語用の手話を採用しています。

インフラ構成図 image

使用技術 フロントエンド Next.js(ビデオ通話/MediaPipeとの連携/チャット機能) ・WebRTC(1対1ビデオ通話) ・AI手話認識 MediaPipe Holisticで手のランドマークを抽出 使用したモデル:WLASLモデル

バックエンド FastAPI WebSocket:WebRTC用のシグナリング+チャット MediaPipe:ジェスチャー認識

使用したAWSサービス TURN(Coturn)サーバ:EC2に構築 デプロイ先:ECS/ECR/Fargate 認証:Cognito リクエスト:API Gateway/Lambda/DynamoDB 自然言語処理:BedRock

その他の機能 音声認識:WebSpeechAPI

手話識別について ①特徴量抽出 ・手話のデータセットであるWLASLから動画をダウンロード ・mediapipeのHolisticを使って両手の位置を1フレーム126次元のベクトルに変換し、30フレーム集めたものを動画の特徴量として保存 ・特徴量を集めたデータに対応する正解ラベルを作成し、保存 ②学習 ・時系列データであるため、TensorFlow.kerasの中にあるSeqencialというモデルを使って作成 ・時系列データの特徴をうまく学習するためにLSTM層というベクトルから特徴を抽出する層を追加

開発に使用したAI

アイコン:ChatGPT デザイン:bolt.new コード整理(ディレクトリ構造改善の提案):Amazon Q コーディング:Claude Sonnet4/Gemini/ChatGPT一部

岸幸之介

@af80eb46daca6d2b