camera fighter
Post on 21-Jan-2016
81 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
top related