Ping Pong Tracking

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Ping pong tracking

Śledzenie piłki wymaga analizy obrazu z kilku kamer na żywo. W zależności od


częstotliwości pracy kamery analiza i porównanie trzech klatek obrazu (trzy kamery) musi
się odbyć w czasie pomiędzy kolejnymi klatkami przetwarzanego obrazu (np. 16ms przy
założeniu pracy kamer w 60 fps ). Z tego powodu program musi być napisany za pomocą
języka który zapewni odpowiednią szybkość. Języki aktualnie wykorzystywane przy
przetwarzaniu obrazu:

Python z bibliotekami takimi jak OpenCV, Scikit-image, Pillow, NumPy,


C/C++ z OpenCV, EmugCV, OpenGL,
Rust z OpenCV, CV i innymi pakietami,
Matlab.

Większość dostępnych informacji o śledzeniu piłek zakłada idealne warunki:

stół pingpongowy o jednolitym kolorze,


równomiernie oświetlenie przestrzeni gry,
od dwóch do czterech graczy przy stole.
Warunki w klubie nie spełniają tych punktów. Oznacza to, że darmowe implementacje
dostępne online (napisane w ramach ćwiczeń lub zabawy, a nie profesjonalnego
użytku) mogą służyć jedynie jako punkt startowy prac.

Przetwarzanie obrazu wymaga zastosowania na nim odpowiednich algorytmów. W


zależności od użytych bibliotek, algorytmy mogą być już zaimplementowane. Ze względu na
warunki w klubie i jakość obrazu, na pewno będzie wymagana ich modyfikacja lub
zastosowanie niestandardowego przetwarzania obrazu.

Do określenia położenia piłeczki pingpongowej potrzebne będą obliczenia przestrzenne


wykonywane na podstawie obrazów z analizowanych kamer. Wszystkie dodatkowe
zdarzenia lub parametry piłeczki (np. dotknięcie siatki, sprawdzenie czy piłeczka uderzyła w
krawędź stołu, wyliczenie prędkości piłeczki) będą wymagały dodatkowych obliczeń
związanych z zaawansowaną matematyką.

Optymalizacja algorytmu powinna odbyć się poprzez wykorzystanie sieci neuronowych i


danych reprezentujących różne warunki gry (z tego, co wiem, aktualny system trackingowy
tak powstawał).

Przy aplikacji trzeba będzie założyć dodatkowe "parametry" (nie jestem pewny jak je na ten
moment nazwać) które pozwolą dostosowywać działanie całości do warunków panujących w
klubie (kolor stołu, oświetlenie, odbicia).
Konieczne będzie stworzenie interfejsu użytkownika (GUI) które umożliwi łatwe korzystanie
z aplikacji.

Podsumowanie:

Dostępne przykłady i opracowania w większości zakładają idealne warunki i mogą


posłużyć tylko jako punkt wyjściowy prac,
W firmie pythona znają jedynie osoby z działu TD, nie posiadamy ludzi znających
którykolwiek z pozostałych języków, nie wykorzystywaliśmy w sposób profesjonalny
żadnej biblioteki stosowanej przy przetwarzaniu obrazu,
Nie posiadamy wiedzy teoretycznej (analiza obrazu, algorytmy) potrzebnej do
przetwarzania obrazu i trackowania piłeczki pingpongowej.

Szacowany czas na powstanie aplikacji - co najmniej 9 miesięcy

You might also like