システム概要
このシステムは、カメラを用いた睡眠検出を行い、Zoomでのカメラ表示を自動的に制御する仕組みです。
動作動画
環境構築
このシステムの環境構築には、以下のツールをインストールする必要があります。
1. OpenCVのインストール
以下のコマンドでインストールできます:
$ pip install opencv-python
OpenCV:インテルが開発したオープンソースのコンピュータビジョン向けライブラリです。
2. OBS Studioのインストール
OBS Studio公式ダウンロードページ からインストール可能です。
OBS Studio:OBS Projectが開発・保守している、フリーでオープンソースのストリーミング配信および録画ソフトウェアです。
3. Zoomのインストール
Zoomデスクトップアプリダウンロードページ からダウンロードできます。ブラウザ版またはデスクトップアプリ版のどちらでも使用可能です。
アルゴリズムの概要
このシステムのアルゴリズムは以下の手順で構成されています:
- OpenCVでデバイスのカメラを起動し、映像を取得。
- OBS Studioで、OpenCVで起動したカメラウィンドウを仮想カメラとして設定。
- Zoomでビデオ設定をOBS Studioの仮想カメラに切り替えることで、OpenCVで取得した映像をZoomに表示。
- ZoomカメラのON/OFFは、ZoomのビデオON/OFF切り替えボタンのキーコマンド(Alt+V)を実行して切り替えます。
※Zoomウィンドウが選択されているときのみビデオON/OFFが可能です。
上図は、OpenCVによるカメラ制御のフローチャートです。
- 顔(目と口)を認識するための学習済みモデルを用いて、カメラ映像内で顔のパーツを検出。
- 目が認識されている間はタイマーをリセットし続け、ZoomカメラをONにします。
- 目が一定時間認識されなかった場合、カメラをOFFに切り替えます。
GitHubリポジトリ
コードと詳細情報については以下のGitHubリポジトリをご覧ください。
https://github.com/haradakaito/SleepDetectionCamera