このプロジェクトは、私の大学であるダルムシュタット工科大学の VR/AR コースの一部でした。プロジェクトの目的は、2 人のプレイヤーがポイントのカウントに集中することなくダーツのゲームをプレイできる、自動ダーツ スコアラー アプリケーションを作成することでした。このアプリケーションは、コンピューター ビジョン部分に OpenCV を使用し、GUI に Pyside2 を使用します。
調整された Web カメラを使用してビデオ ストリームをキャプチャし、それを OpenCV で処理してボード上のダーツを抽出し、プレーヤーを追跡します。
完全な検出パイプラインは次のようになります。
パイプライン全体は次のフローチャートにまとめられています (現時点ではドイツ語のみ)。
必要なものは次のとおりです。
下の画像のようにダーツボードの周囲にマーカーを配置し、表示されることを確認します。ウェブカメラはダーツを投げる際に邪魔にならないよう、ダーツボードの正面から約1メートル離れたやや右側に設置してください。
重要: 良い結果を得るには、適切な照明が必要です。ダーツボードの真上からの照明だけはダメです。最適なのは、次のようなディフューザーを備えたリングライトです。
基板の揺れにより検出時にノイズが発生するという問題がありました。私たちは、ボード用の 3D プリント マウントによってこれを解決しました。
リポジトリのクローンを作成し、次のコマンドを実行するだけです。
pip install -r requirements.txt
まずカメラを調整する必要があります。これはキャリブレーション スクリプトを使用して実行できます。次に、main_with_gui.py を起動できます。 GUI は次のようになります。