이 프로젝트는 제가 다니던 TU Darmstadt의 VR/AR 과정의 일부였습니다. 프로젝트의 목적은 두 명의 플레이어가 점수 계산에 집중하지 않고 다트 게임을 즐길 수 있는 자동 다트 채점 애플리케이션을 만드는 것이었습니다. 이 애플리케이션은 컴퓨터 비전 부분에 OpenCV를 사용하고 GUI에 Pyside2를 사용합니다.
우리는 보정된 웹캠을 사용하여 비디오 스트림을 캡처하고 OpenCV로 처리하여 보드의 다트를 추출하고 플레이어를 추적합니다.
완전한 탐지 파이프라인은 다음과 같습니다:
전체 파이프라인은 다음 순서도에 요약되어 있습니다(현재는 독일어로만 제공됨).
다음이 필요합니다.
아래 이미지처럼 다트판 주위에 마커를 배치하고 눈에 보이는지 확인하세요. 다트를 던지는 데 방해가 되지 않도록 웹캠을 다트판 앞에서 약 1미터 정도 약간 오른쪽에 배치합니다.
중요: 좋은 결과를 얻으려면 좋은 조명이 필요합니다. 다트판 바로 위의 조명만 좋지 않습니다. 다음과 같은 디퓨저가 있는 링 조명이 가장 좋습니다.
우리는 감지 시 소음을 유발하는 보드 흔들림으로 인해 몇 가지 문제가 있었습니다. 우리는 보드용 3D 프린팅 마운트를 통해 이 문제를 해결했습니다.
저장소를 복제하고 다음 명령을 실행하십시오.
pip install -r requirements.txt
먼저 카메라를 보정해야 합니다. 이는 교정 스크립트를 사용하여 수행할 수 있습니다. 그런 다음 main_with_gui.py를 시작할 수 있습니다. GUI는 다음과 같습니다: