Zoom で顔ホッケーをやってみた。
オンラインミーティングの顔出しでホッケーをやるという遊びです。
Zoom のギャラリービューの画面をキャプチャーし、カメラに映った顔検出・顔識別をして目の部分をホッケーのバーとして扱うものです。
環境構築の時にDlibライブラリ(機械学習のアルゴリズムで顔検出・顔識別の機能を持つソフトウェア)のインストールでハマったのでメモに残しておきます。
環境
- Windows 10 (x64) (←Mac、Linuxはサポートされていません)
- Anaconda Python 3.7.7 (←ココがハマったところでした)
まずはAnacondaをダウンロード(Windows (64bit) Python 3.7を選択)してインストールします。
次にAnacondaのPython実行環境を構築します。普通に環境を構築するとPython 3.7.7がインストールされて、Dlibライブラリの読み込みでエラーになります。
> python
Python 3.7.7 (default, May 6 2020, 11:45:54) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import dlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: ダイナミック リンク ライブラリ (DLL) 初期化ルーチンの実行に失敗しました。
後になって分かったことですが、DlibライブラリはPython3.7では動作しないとのことでした。
したがって、以下の手順でPythonのバージョンをダウングレードし、必要なライブラリをインストールする必要がありました。
以下の手順で無事に動かすことができました。
> conda install python=3.6
> conda create -n py36 python=3.6 anaconda
> activate py36
> conda install -y opencv
> conda install -y -c conda-forge dlib
> pip install pysimplegui
> pip install mss
正常にインストールが完了したかどうかを確認します。(エラーが出力されず、バージョン情報が出力されれば正常です。)
> python
Python 3.6.10 |Anaconda, Inc.| (default, May 7 2020, 19:46:08) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.2.0'
>>> import dlib
>>> dlib.__version__
'19.8.1'
最後にgithubからKaoHockeyをダウンロードしてmain.pyを実行します。
> python main.py
コマンドプロンプト画面にはログが出力され、「顔ホッケー」というウィンドウが立ち上がります。
Crop Left、Crop Right、Crop Top、Crop Buttomを操作してZoomのギャラリービューにキャプチャー画面の位置を合わせます。
次にLeft、Top、Right、Buttomを設定します。
今回はお試しなので
Left、Right →None
Top →Team1
Buttom →Team2
としました。
最後にScreenのチェックボックスにチェックを入れるとホッケーゲームが始まります。
ぼっちテレカンでも意外に楽しかったです。笑