顔認識&ジェスチャー対応オンライン試験システム

AI/ML

概要

本プロジェクトは、手やキーボード・マウスを使えないユーザーでも受験できることを目指したAIベースのオンライン多肢選択(MCQ)試験システムです。ユーザーの顔をカメラで捉え、Face Mesh(顔ランドマーク)をトラッキングして頭部の動き(左右の首振り、頷きなど)をジェスチャーとして解釈し、選択肢の移動・確定を行います。Webインターフェースを通して問題表示・解答のフィードバックが行われ、デモ動画も含まれるため動作イメージを確認できます。

GitHub

リポジトリの統計情報

  • スター数: 24
  • フォーク数: 0
  • ウォッチャー数: 24
  • コミット数: 3
  • ファイル数: 7
  • メインの言語: Python

主な特徴

  • Face Mesh を用いたリアルタイム顔ランドマークトラッキングによる操作
  • 頭部ジェスチャー(左右移動・頷き等)を解答操作にマッピング
  • Webベースのインターフェース(index.html)で問題提示と操作
  • デモ動画(demo.mp4)で実際の利用イメージを確認可能

技術的なポイント

本システムは主にリアルタイムの顔ランドマーク検出と、それに基づくジェスチャー認識で成り立っています。顔検出には MediaPipe Face Mesh などのランドマークモデルを想定し、鼻・目・口などの安定したランドマークから頭部の向き(ピッチ・ヨー・ロール)を算出します。ランドマーク座標から回転行列やオイラー角を推定し、一定の閾値を超えた横方向の角度変化を「左移動/右移動」に、上下の動きを「選択確定(頷き)」にマッピングします。フレーム間のノイズ除去には移動平均や閾値フィルタを用い、誤検出を低減します。バックエンドは Python(app.py)で簡易サーバーを立て、WebソケットやHTTPでフロントと映像・状態をやり取りする構成が想定されます。顔認証による受験者認証を組み合わせれば不正防止強化が可能ですが、顔画像の取り扱いにはプライバシー配慮と安全な保存・転送が必要です。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • alica.py: file(顔ランドマークやジェスチャー認識のロジックを含む推定ファイル)
  • app.py: file(Webサーバー/アプリ起動のエントリ)
  • demo.mp4: file(動作デモ動画)
  • index.html: file(フロントエンドUI) …他 2 ファイル

補足(想定される役割):

  • alica.py は顔検出・ランドマーク抽出・角度算出・ジェスチャー判定を担当している可能性が高く、OpenCV や MediaPipe のラッパを用いてフレーム処理を行います。
  • app.py は Flask や FastAPI の軽量サーバーとして、クライアントからの接続管理や問題データの配信、解答ログの保存を行う設計が一般的です。
  • index.html はカメラ映像の取得(getUserMedia)とサーバー通信を扱い、検出結果に応じたUI反応を実装します。

使い方(想定フロー)

  1. リポジトリをクローンして依存ライブラリ(OpenCV, mediapipe, Flask 等)をインストール
  2. app.py を実行してローカルサーバーを起動
  3. ブラウザで index.html にアクセスし、カメラの使用許可を付与
  4. 顔位置のキャリブレーション後、頭部ジェスチャーで選択肢の移動・確定を実行

拡張と改善案

  • 顔認証ライブラリ(face_recognition 等)を用いた受験者本人確認を導入して不正防止
  • ジェスチャーの学習型分類器(軽量なCNNやLSTM)を導入し、個人差を吸収する適応化
  • 照明変化や部分的な顔遮蔽に強い前処理(ヒストグラム平滑化、顔の追跡継続)を追加
  • サーバー側でのログ暗号化と通信のTLS強制化によるセキュリティ強化

まとめ

アクセシビリティに配慮した実用的な顔ジェスチャー式オンライン試験のプロトタイプです(50字程度)。

リポジトリ情報:

READMEの抜粋: image

🎯 Gesture-Based Online Examination System

Enabling paralysed & differently-abled users to write exams using head gestures

プロジェクトは、ハンズフリーでMCQを解答するための顔メッシュトラッキングやジェスチャー検出を中心とした実装を提供しています。デモやUIが揃っており、実運用に向けた拡張余地が豊富です。