camera fighter
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 PresentationTRANSCRIPT
![Page 1: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/1.jpg)
Michał Grędziak
Prowadzący: prof nzw dr hab. Przemysław Rokita
![Page 2: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/2.jpg)
Cel projektu◦ Stworzenie interaktywnej gry wykorzystującej technikę
Motion Capture
Gracz 2Gracz 1
![Page 3: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/3.jpg)
Camera fighterCamera fighter
Odwzorowanie fizycznego
ruchu gracza w sposób
umożliwiający odtworzenie
tego ruchu w 3D
Stworzenie wirtualnej
rzeczywistości
![Page 4: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/4.jpg)
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
![Page 5: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/5.jpg)
Kamera lewo
Kamera prawo
Kamera przód
Akwizycja danych
Przetwarzanie wstępne
Detekcja markerów
Analiza zebranych
danych
![Page 6: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/6.jpg)
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
![Page 7: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/7.jpg)
Redukcja szumów
Obraz powstały z przesłonięcia obiektywu
Obraz wejściowy
Obraz wynikowy
Redukcja zniekształceń geometrycznych
![Page 8: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/8.jpg)
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
![Page 9: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/9.jpg)
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”
![Page 10: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/10.jpg)
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
![Page 11: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/11.jpg)
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
![Page 12: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/12.jpg)
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
![Page 13: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/13.jpg)
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
![Page 14: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/14.jpg)
Cele :◦ Użycie 3 kamer przez 1 maszynę ( wydajność )◦ Przenośność aplikacji
Biblioteki do przechwytywania obrazów: Microsoft DirectShow Java Media Framwework OpenCV
![Page 15: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/15.jpg)
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
![Page 16: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/16.jpg)
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,
![Page 17: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/17.jpg)
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
![Page 18: Camera fighter](https://reader036.vdocuments.mx/reader036/viewer/2022081506/5681503c550346895dbe3a41/html5/thumbnails/18.jpg)
Mail: [email protected]