Należy opracować system zdolny rejestrować nowych graczy, nadając im unikalne numery identyfikacyjne oraz rozpoznawać i identyfikować wcześniej zarejestrowanych graczy podczas ich kolejnych wizyt. System powinien szybko określać numer gracza w celu śledzenia i aktualizacji jego statystyk i rankingów w bazie danych o pojemności do 1500 osób.
Wymagania techniczne:
1. Sprzęt:
- Użycie kamery internetowej o wysokiej rozdzielczości (co najmniej 1080p) do przechwytywania obrazów graczy.
- Podłączenie kamery do komputera z systemem operacyjnym Windows 10 o wystarczającej wydajności.
2. Oprogramowanie (oparte na OpenCV):
- Wdrożenie następującego algorytmu:
- Rejestracja nowego gracza:
- Przechwycenie obrazu twarzy gracza podczas pierwszej wizyty.
- Wyodrębnienie twarzy gracza na obrazie i obliczenie jej deskryptorów (cech numerycznych) za pomocą OpenCV.
- Przypisanie graczowi kolejnego dostępnego numeru porządkowego z zakresu od 1 do 1500.
- Zapisanie deskryptorów twarzy i numeru gracza w bazie danych (np. SQLite lub MongoDB).
- Rozpoznanie istniejącego gracza:
- Przechwycenie obrazu gracza podczas jego kolejnej wizyty.
- Obliczenie deskryptorów twarzy i porównanie ich z danymi zapisanymi w bazie.
- Szybkie określenie numeru gracza przy znalezieniu dopasowania w bazie.
- Aktualizacja statystyk i rankingów gracza w bazie danych.
3. Wymagania dotyczące wydajności:
- Rejestracja nowego gracza: nie dłużej niż 5 sekund.
- Rozpoznanie istniejącego gracza: nie dłużej niż 2 sekundy.
4. Wymagania dotyczące bazy danych:
- Użycie niezawodnej i skalowalnej bazy danych (np. SQLite lub MongoDB) do przechowywania danych do 1500 graczy.
- Zapewnienie szybkiego dostępu do danych graczy podczas porównywania deskryptorów twarzy.
- Możliwość łatwego rozszerzania bazy danych w miarę wzrostu liczby graczy.
5. Dokumentacja:
- Dostarczenie szczegółowej instrukcji dotyczącej instalacji, konfiguracji i użytkowania opracowanego systemu.
- Zawarcie zaleceń dotyczących wyboru i konfiguracji sprzętu (kamera, urządzenie obliczeniowe).
- Opis procesu integracji systemu z salą gier i bazą danych graczy.