Camera fighter

Post on 21-Jan-2016

69 views 0 download

description

Camera fighter. Prowadzący: prof nzw dr hab. Przemysław Rokita. Michał Grędziak. Projekt. Cel projektu Stworzenie interaktywnej gry wykorzystującej technikę Motion Capture. Podział projektu. Camera fighter. - PowerPoint PPT Presentation

Transcript of Camera fighter

Michał Grędziak

Prowadzący: prof nzw dr hab. Przemysław Rokita

Cel projektu◦ Stworzenie interaktywnej gry wykorzystującej technikę

Motion Capture

Gracz 2Gracz 1

Camera fighterCamera fighter

Odwzorowanie fizycznego

ruchu gracza w sposób

umożliwiający odtworzenie

tego ruchu w 3D

Stworzenie wirtualnej

rzeczywistości

Motion Capture jest techniką dzięki której można naśladować ruch żywych postaci w wirtualnej rzeczywistości

Rodzaje Motion Capture

Mechaniczne Elektromagnetyczne optyczne

Kamera lewo

Kamera prawo

Kamera przód

Akwizycja danych

Przetwarzanie wstępne

Detekcja markerów

Analiza zebranych

danych

Jest zamiana energii świetlnej na sygnał elektryczny dogodny do rejestracji

Dla obrazu akwizycja polega na dyskretyzacji przestrzeni , zapisie informacji o poziomie jasności w formie elektrycznej a następnie jej skwantyzowanie

Najpopularniejszym urządzeniem dokonującym akwizycji jest układ CCD

Redukcja szumów

Obraz powstały z przesłonięcia obiektywu

Obraz wejściowy

Obraz wynikowy

Redukcja zniekształceń geometrycznych

Problem: Zmieniająca się jasność otoczenia oraz kąt padania światła ma wpływ na wartość składowych RGB

Rozwiązanie: uniezależnienie się od jasności przez przejście z RGB do systemu np. HSV(Hue Saturation Value)

HSV nawiązuje do sposobu w jaki widzi ludzkie oko

Wszystkie barwy wywodzą się od koloru białego

Rozwiązanie:1.Znalezienie wartości średniej m(x,y) każdego piksela w obrazie 2.Wyznaczenie różnicy „m(x,y) – p(x,y)” pomiędzy pikselem z aktualnej ramki p(x,y) a zapisanym uśrednionym pikselem3.Progowanie: podjęcie decyzji czy piksel należy do tła czy nie

m x , ys x , yN

x , ys x , y 2

Ns x , yN

2

m x , y p x , y c x , y

x , y - Odchylenie standardowe

c - stała

N – liczba klatek „uczących”

Problem: zmieniające się tło ( zmiana natężenia światła otoczenia)Rozwiązanie: Aktualizacja wartości pikseli tła ( adaptacja )

U x x , y p x , y c 1 c U x 1 x , y

Założenie: Markery mają znaną barwę np. niebieską

Detekcja przez progowanie w dziedzinie składowej H (Hue)

if p x , y k

P(x,y) = markerelse

P(x,y) = nie_marker

Po znalezieniu piksela należącego do markera należy znaleźć wszystkie pozostałe by wyznaczyć jego środek

Algorytm „flood fill” Punktem centralnym markera jest „środek ciężkości” przestrzeni

ograniczonej zakresem barw konkretnego markera czyli jego krawędziami

Wykorzystanie momentów do wyznaczenia środka ciężkości markera

Współrzędne markera

= 1 jeżeli piksel należy do markera, w przeciwnym wypadku wynosi 0

Mając znaleziony na obrazie zbiór markerów należy śledzić każdy z osobna.

Zgubienie markerów kosztuje utratę mapy przynależności markerów do części ciała

Najlepszym rozwiązaniem jest wykorzystanie filtru Kalmana Każdy marker jest traktowany jako obiekt posiadający

jeden z wielu stanów Na zbiór stanów składa się prędkość, przyśpieszenie oraz

pozycja środka ciężkości Mając stany markera z aktualnej ramki i ramki poprzedniej

można estymować przyszły stan markera

Cele :◦ Użycie 3 kamer przez 1 maszynę ( wydajność )◦ Przenośność aplikacji

Biblioteki do przechwytywania obrazów: Microsoft DirectShow Java Media Framwework OpenCV

Stworzona przez Microsoft biblioteka przeznaczona dla developerów pracujących nad aplikacjami multimedialnymi.

Jest następczynią Video for Windows (WfV). Wcześniej DS był częścią DirectX SDK. Teraz jest częścią

Windows SDK. Plany zastąpienia DS przez Media Foundation. Budowanie aplikacji DirecShow opiera sie na budowaniu

ciągów ( filtrów )które łączy się ze sobą by wykonać zadania związane z odtwarzaniem, kompresją, zapisem,..itd.

Problem: ◦ Działa tylko pod Windows◦ jest uważana za najbardziej skomplikowaną biblioteką

Microsoft'u

opracowana przez Intel'a zaprojektowana w sposób by zmaksymalizować efektywność

algorytmów przez wykorzystanie architektury procesorów Intel. wspomaganie systemów wizyjnych w takich dziedzinach jak

robotyka, automatyka, systemy zabezpieczeń Wykorzystuje inne biblioteki dostępu do urządzeń

zewnętrznych ( USB, FireWire) ukrywając implementacje np. DirectShow

Problem: brak wsparcia ze strony twórcy – Intela,

Biblioteka jest podzielona na 3 części CV - Zawiera narzędzia przydatne przy przetwarzaniu obrazów: filtry,

funkcje wyznaczające histogramy, wykrywanie krawędzi, porównywanie wzorców, śledzenie obiektów

CXCore - Zawiera definicje struktur oraz funkcje matematyczne przydatne w przetwarzaniu obrazów (statystyczne, algebraiczne, arytmetyczne, specyficzne struktury danych jak drzewa, grafy, zbiory)

HighGUI - Zawiera funkcje wysokiego poziomu przydatne przy odczytywaniu, zapisywaniu do pliku, wizualizacji danych, wyświetlania obrazów pochodzących z kamery

Mail: mgredziak@gmail.com