Ze względu na specyficzny charakter systemu jego realizację zdecydowano się wykonać jako aplikację internetowy współpracującą ze standardowymi kamerami internetowymi oraz niezależną sprzętowo. Jako środowisko programistyczne wybrano język Java, który spełnia wymienione wymogi. Dodatkowo aplet Java, którego kod wykonywany jest w całości po stronie użytkownika strony internetowej umożliwia szybkie, ciągłe przetwarzanie obrazu pobieranego z kamery internetowej.
Najbardziej rozbudowanym aspektem pracy są algorytmy akwizycji i przetwarzania obrazów z kamery internetowej. Głównym problemem związanym z wykorzystaniem kamer internetowych jest otrzymywana niska jakość obrazu. Obecnie większość użytkowników komputera korzysta z kamer wbudowanych w komputer przenośny typu laptop lub prostych kamer internetowych, których rozdzielczość nie przekracza 1.3 Mpx. Jest to dość przyzwoita rozdzielczość lecz obraz często bywa zaszumiony i niewyraźny. Należy również zwrócić uwagę na fakt, iż często komputer umieszczony jest w pomieszczeniu o nierównym oświetleniu. Tym samym twarz użytkownika będzie mocniej oświetlona z jednej strony.
W celu uzyskania szybkiej lokalizacji oraz odpowiedzi cyberbota na zarejestrowane zmiany na obrazie, algorytm musi być wykonywany w bardzo krótkim czasie. Obecnie standardem użytkowanych komputerów są jednostki wyposażone w dwa, a nawet cztery rdzenie procesora. Jednak nawet tak wydajne maszyny nie będą w stanie wykonać zaawansowanych algorytmów na obrazach o dużej rozdzielczości w krótkim czasie. W celu uzyskania szybkiego algorytmu lokalizacja będzie realizowana na obrazach o rozdzielczości 320x240 pikseli. Jest to wielkość oferowana przez większość znajdujących się na rynku urządzeń przechwytujących obraz.
20