카메라로 실물 주사위를 읽는 일은 간단해 보입니다. 주사위를 찾아서 숫자를 읽으면 되니까요. 하지만 실제 테이블 환경에서는 여러 컴퓨터 비전 문제가 한꺼번에 생깁니다.

시스템은 먼저 어떤 물체가 주사위인지 알아내야 합니다. 그다음 위를 향한 면을 판단하고, 회전과 원근에 대처하고, 결과를 받아들이기 전에 주사위가 완전히 멈췄는지 판단해야 합니다.

주사위마다 문제가 다릅니다

일반적인 6면체 주사위는 평평한 면에 점이나 숫자가 새겨져 있습니다. 다른 테이블탑 주사위는 면이 더 많고, 보는 각도가 더 가파르며, 표시가 훨씬 작을 수 있습니다. 재질도 제각각입니다. 광택이 있거나, 반투명하거나, 무늬가 있는 주사위는 불투명한 주사위와 빛을 다르게 반사할 수 있습니다.

그래서 실용적인 주사위 인식 시스템은 사람들이 실제로 쓰는 다양한 주사위로 학습하고 테스트해야 합니다.

타이밍도 인식의 일부입니다

주사위가 구르는 동안 카메라에는 여러 값이 보일 수 있습니다. 따라서 소프트웨어는 굴림이 언제 끝났는지 판단할 방법이 필요합니다. 움직임 감지, 프레임 기록, 신뢰도 점수가 모두 도움이 될 수 있습니다.

가려짐도 중요합니다. 손이 주사위 일부를 가릴 수도 있고, 여러 주사위가 서로 가까이 떨어질 수도 있습니다. 이럴 때 올바른 제품의 동작은 신뢰도가 낮은 결과를 자신 있게 보고하기보다 확인을 요청하는 것인 경우가 많습니다.

왜 실물 주사위를 지켜야 할까요?

테이블탑 게임에서 목표는 단순히 계산을 대신하는 것이 아닙니다. 실물 주사위는 플레이라는 의식의 일부입니다. 컴퓨터 비전 덕분에 플레이어는 진짜 주사위를 계속 굴리고, 디지털 시스템은 그 결과를 이해할 수 있습니다.

Realm Kinetics는 이 원칙을 바탕으로 Doungim을 개발하고 있습니다. Doungim의 카메라는 테이블 위의 실제 행동을 게임의 디지털 레이어와 연결하기 위한 것입니다.

그러므로 흥미로운 엔지니어링 문제는 "카메라가 숫자를 볼 수 있는가?"가 아닙니다. 인식 과정 전체가 평소의 플레이 속으로 자연스럽게 사라질 만큼 안정적으로 작동할 수 있는가입니다.