Zastosowanie techniki Motion Capture



Podobne dokumenty
ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

Implementacja filtru Canny ego

Samochodowy system detekcji i rozpoznawania znaków drogowych. Sensory w budowie maszyn i pojazdów Maciej Śmigielski

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska.

Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D

Proste metody przetwarzania obrazu

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Analiza i przetwarzanie obrazów

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

Interpretacja gestów dłoni w sekwencji obrazów cyfrowych. autor: Karol Czapnik opiekun: prof. dr hab. Włodzimierz Kasprzak

Grenlandia się topi badanie rozkładu kątów pomiędzy strumykami na lądolodzie na podstawie analizy obrazu

Operacje przetwarzania obrazów monochromatycznych

Histogram obrazu, modyfikacje histogramu

Podstawy programowanie systemów wizyjnych InSight firmy Cognex. Środowisku InSight Explorer / Spreadshee

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 7 AiR III

Rekonstrukcja obrazu (Image restoration)

Kalibracja kamery. Kalibracja kamery

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

Cyfrowe Przetwarzanie Obrazów. Karol Czapnik

Przetwarzanie obrazów rastrowych macierzą konwolucji

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU

PRZETWARZANIE OBRAZÓW Sprawozdanie z ćwiczeń. Ćwiczenie 2. Korekcja zniekształceń radiometrycznych

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe

Uwaga! Upadek! Opis zadania konkursowego

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

WYKŁAD 3. Przykłady zmian w obrazie po zastosowaniu Uniwersalnego Operatora Punktowego

Rozszerzony konspekt przedmiotu Inteligentne maszyny i systemy

Detekcja twarzy w obrazie

Adam Korzeniewski p Katedra Systemów Multimedialnych

Analiza obrazów - sprawozdanie nr 2

Przetwarzanie obrazu

WYKŁAD 12. Analiza obrazu Wyznaczanie parametrów ruchu obiektów

Obraz jako funkcja Przekształcenia geometryczne

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 12 AiR III

PROPOZYCJE TEMATÓW PROJEKTOWYCH PROJEKTOWANIE OPROGRAMOWANIA SYSTEMÓW

Przetwarzanie obrazu

SYSTEM BIOMETRYCZNY IDENTYFIKUJĄCY OSOBY NA PODSTAWIE CECH OSOBNICZYCH TWARZY. Autorzy: M. Lewicka, K. Stańczyk

Przetwarzanie obrazu

Sposoby opisu i modelowania zakłóceń kanałowych

WYBRANE ELEMENTY CYFROWEGO PRZETWARZANIA SYGNAŁÓW W RADARZE FMCW

PL B1. WOJSKOWY INSTYTUT MEDYCYNY LOTNICZEJ, Warszawa, PL BUP 26/13

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Wybrane zagadnienia w pracy z danymi rastrowymi w ArcGIS Marcin Paź Esri Polska

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Pattern Classification

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Systemy uczące się Lab 4

AKWIZYCJA I PRZETWARZANIE WSTĘPNE OBRAZU

AKWIZYCJA I PRZETWARZANIE WSTĘPNE

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Operacje morfologiczne w przetwarzaniu obrazu

Praktyczne zastosowanie grafiki komputerowej

Analiza strategii robotów mini-sumo na podstawie obserwacji ich ruchu

SEGMENTACJA OBRAZU Wprowadzenie

Systemy multimedialne 2015

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Wykrywanie twarzy ludzkich na kolorowych obrazach ze złożonym tłem

M O N I T O R I N G

Sieciowe Sterowanie Robotem Przemysłowym KUKA KR3 Sprzężonego z Systemem Wizyjnym oraz Systemem Rozpoznawania Mowy

Rzeczywistość rozszerzona: czujniki do akwizycji obrazów RGB-D. Autor: Olga Głogowska AiR II

Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie. Projekt. z przedmiotu Analiza i Przetwarzanie Obrazów

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

Metodyka wykonania kartogramu z podziałem na klasy wg punktów charakterystycznych wraz z opracowaniem kartogramicznej legendy.

Podstawy grafiki komputerowej

Ćwiczenia GIMP. S t r o n a Uruchom program gimp: 2. I program się uruchomił:

Spadające jabłuszka. licencja CC-BY-SA Uznanie autorstwa Na tych samych warunkach 3.0 Polska. Strona 51

Julia 4D - raytracing

Agnieszka Nowak Brzezińska Wykład III

Arkadiusz Kalicki, Lech Mankiewicz Plugin Webcam dla SalsaJ Podręcznik użytkownika

Koło zainteresowań Teleinformatyk XXI wieku

zna wybrane modele kolorów i metody transformacji między nimi zna podstawowe techniki filtracji liniowej, nieliniowej dla obrazów cyfrowych

Filtracja splotowa obrazu

Metody systemowe i decyzyjne w informatyce

Rozciąganie histogramu

Raport. Bartosz Paprzycki UMK 2009/2010

Operator rozciągania. Obliczyć obraz q i jego histogram dla p 1 =4, p 2 =8; Operator redukcji poziomów szarości

Opisy efektów kształcenia dla modułu

Ćwiczenie 6. Transformacje skali szarości obrazów

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Animowana grafika 3D. Opracowanie: J. Kęsik.

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

Agnieszka Nowak Brzezińska

Informatyka, studia dzienne, mgr II st. Przetwarzanie obrazu i dźwięku 2011/2012 Prowadzący: dr inż. Bartłomiej Stasiak czwartek, 8:30

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Arkadiusz Łapiński ETI V gr.9.4. Sieć neuronowa w inteligentnym pojeździe, Tribolite

Odciski palców ekstrakcja cech

Obliczenia inteligentne Zadanie 4

Analiza ruchu. Marek Wnuk < > ZPCiR I-6 PWr. MW: SyWizE p.1/22

Zastosowanie teorii detekcji sygnałów do analizy rzetelności systemu obserwacyjnego ARGOS Michał Modzelewski Jolanta Pisarek

Photoshop. Podstawy budowy obrazu komputerowego

Wstawianie filmu i odtwarzanie go automatycznie

PODSTAWY BARWY, PIGMENTY CERAMICZNE

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Transkrypt:

Zastosowanie techniki Motion Capture Michał Grędziak mgredzia@mion.elka.pw.edu.pl Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska ul. Nowowiejska 15/19 00-665 Warszawa, Polska 13 czerwca 2008 Streszczenie Niniejszy artykuł opisuje metodę implementacji techniki Motion Capture w warunkach domowych. W eseju przedstawione są w sposób ogólny wykorzystane algorytmy przetwarzania obrazów. Dokument jest podzielony na 5 części. Pierwsza opisuje problemy które trzeba pokonać oraz ogólny schemat postępowania. Druga opisuje zastosowaną technikę ( bibliotekę ) umożliwiającą akwizycję obrazu z 2 kamer internetowych, trzecia - przetwarzanie wstępne, czwarta - wykrywanie markerów a ostatnia ich śledzenie. Spis treści 1 Wstęp 2 2 Akwizycja obrazu z kamery internetowej 5 3 Przetwarzanie wstępne 5 3.1 Uniezależnienie od jasności......... 5 3.2 Przekształcenia geometryczne........ 6 3.3 Ekstrakcja tła................ 6 4 Detekcja markerów 6 4.1 Detekcja wstępna............... 6 4.2 Algorytm mean shift............. 7 5 Śledzenie markerów 8 1

1 WSTĘP 1 Wstęp Projekt gry interaktywnej oparty jest na pomyśle połączenia standardowej gry 3D z techniką "motion capture". Dokładniej, gracz jest obserwowany przez co najmniej 3 kamery a jego ruchy śledzone i przełożone na postać 3D. Jest to coś więcej niż tylko sterowanie myszką. Można sterować postacią za pomocą ruchów rąk czy całego korpusu. Gesty jednego gracza widzi gracz drugi który jest po drugiej stronie sieci, gdyż podstawą funkcjonalnością gry będzie możliwość grania przez sieć. W celu rozpoznania postawy, na odpowiednich częściach ciała będą umieszczone kolorowe markery. Z punktu widzenie ekonomicznego oraz samej wygody systemu jest umieszczenie jak najmniejszej liczby kamer oraz wykorzystanie jak najmniejszej liczby maszyn w celu przetwarzania odebranego sygnału. Jedna kamera będzie przekazywać widok z przodu, druga z lewej i wreszcie trzecia z prawej strony postaci. Potrzebna by była również kamera z góry ale ze względów technicznych i ekonomicznych na chwilę obecną nie jest to możliwe do zrealizowania. Rysunek 1: Konceptualny schemat gry multimedialnej. Fundamentem techniki "Motion Capture"jest wykrycie "interesujących"punktów i umieszczenie ich w przestrzeni 3D. W pracy magisterskiej proces ten jest podzielony na 4 podstawowe etapy: Akwizycja obrazu z kamery Przetwarzanie wstępne (preprocessing) Detekcja punktów kandydujących Śledzenie filtrem Kalmana 2

1 WSTĘP Rysunek 2: Schemat implementacji techniki MC Pierwszym etapem jest akwizycja obrazu z 2 kamer internetowych. Dostęp do obrazu jest możliwy dzięki wykorzystaniu biblioteki OPENCV. Wykorzystanie już 3 kamer wprowadza trudności implemetacyjne związane z wydajnością. Problemem jest również ograniczenie biblioteki OPENCV w której można wykorzystać w systemie Windows maksimum 2 kamery. Przed procesem przedtwarzania obrazu należy go odpowiednio przygotować. By uniezależnić się od składowej jasności koloru, obraz przetwarzany jest to trybu HSV (Hue Saturaion Value). Kolejnym krokiem ulepszającym wykrywanie jest usunięcie z niego części, które nas nie interesują czyli wszystko co nie jest pierwszym planem czyli jest poprostu tłem. Mając już tak przygotowany obraz można przejść do procesu wykrywania markerów. Markery są to punkty odniesienia na ciele które należy wyodrębnić od całej reszty obrazu. Mając oddzielone tło teraz należy oddzielić obszary pierwszego planu które nie są markerami. Wykrzystać do tego można wiele algorytmów. Jednym z podejść może być wykorzystanie progowania i algorytmu zalewania "fllod fill": Ponieważ cechą charakterystyczną markerów ( to co powinno wyróżniać je od całej reszty ) jest barwa należy wydzielić te obszary obrazu przez progowanie. Progowanie jest funkcją która w zależnośći od wartości jaką mają 3 składowe piksela przyporządkowuje im jedną z 2 wartości binarnych. Czyli daje nam odpowiedź na pytanie czy piksel spełnia nasze kryterium czy nie. Zastosowanie progowania dla całego obrazu da nam 2 wymiarową funkcję binarną. Mając taką mapę binarną wystarczyłoby pozaznaczać obszary gdzie wynikiem progowania jest wartość pozytywna, wyliczyć powierzchnę tych obszarów oraz ich śroki i oznaczyć jako markery. Wydaje się to proste. Niestety przychodzący z kamery obraz jest mocno zaszumiony a obszary które jak nam się wydaje powinny mieć jednolity kolor tak naprawdę są wielokolorowe. Marker na takim obrazie 3

1 WSTĘP jest jedynie zagęszczeniem pikseli mających podobny kolor do tego co byśmy chcieli. W takich przypadkach zastowowanie algorytmów bazujących na progowaniu takich jak flood fill nie zdaje egzaminu. Czyli są do rozwiązania 2 problemy: - problem barwy markera - problem szumu Do rozwiązania pierwszego problemu można wykorzystać metody opierające się na analizie histogramu: stworzyć plik obrazu z markerami poprzez progowanie wyznaczyć obszary w obrazie wyznaczające tylko obszary markera - wynikiem tej operacji jest maska zaznaczająca na obrazie obszar markera wyznaczenie funkcji rozkładu prawdopodobieństwa wystąpienia piksela w obszarze markera - czyli na obrazie otrzymanym poprzez wykonanie operacji logicznej and na obrazie markera i maski otrzymanej po progowaniu wykonać rzut histogramu na przychodzącą z kamery ramkę ( w takim przypadku otrzymamy obraz w odcieniu szarośći gdzie pikselami o większej jasności są te które częśćiej występują w obrazie wzorca.) Mając taki obraz rzutu należy wyznaczyć obszary o największej wartości całki po powierzchni na ograniczonym obrazie. Szybkie znalezienie tych obszarów jest możliwe przez wykorzystanie algorytmu mean shift. Mając metody do wyznaczania maksimów można przejść do śledzenia. Efektywne śledzenie można zaimplementować wykorzystując filtr kalmana lub algorytm Condensation 4

3 PRZETWARZANIE WSTĘPNE 2 Akwizycja obrazu z kamery internetowej W systemie Windows jest to możliwe przez wykorzystanie biblioteki DirectShow, która obecnie jest częścią pakiedu DirectX SDK. Jednym z założeń projektu jest jego przenośność pomiędzy systemami operacyjnymi tak więc wykorzystanie DirectShow temu przeczy. Z pomocą przychodzi biblioteka CVCAM z pakietu OpenCV. CVCAM udostępnia interfejs pod którym kryją się odwołąnia do procedur przechwytujących obraz w systemie Windows. Akwizycja z wykorzystaniem biblioteki CVCAM z pakietu OpenCV oraz przy wykorzystaniu DirectShow. Aplikacja umożliwia akwizycję z maksimum 2 kamer internetowych podłączonych do jednego komputera w rozdzielczości 640x480, Poniższa tabela przedstawia wyniki wydajnościowe przy wykorzystaniu 2 kamer Creative VFO420 Labtec Liczba kamer Tryb pracy Liczba klatek na sekundę FPS 1 Bez przetwarzania 25 1 Z wykrywaniem markerów i 16 śledzeniem 2 Bez przetwarzania 15 2 Z wykrywaniem punktów i śledzeniem 10 3 Przetwarzanie wstępne 3.1 Uniezależnienie od jasności W celu uniezależnienia się od poziomu jasności otoczenia dobrym krokiem jest przejście do trybu HSV. HSV nawiązuje do sposobu w jakim widzimy, gdzie barwa biała wywodzi się z mieszaniny wszystkich kolorów. Czyli barwy postrzegane są jako światło otoczenia. H = g b delta ifmax = R H = 2 + b r delta ifmax = G H = 4 + r g delta else V = MAX if(max! = 0)s = delta max elses = 0H = 1 gdzie 5

3.2 Przekształcenia geometryczne 4 DETEKCJA MARKERÓW MAX = max(r, g, b) MIN = min(r, g.b) delta = max min 3.2 Przekształcenia geometryczne Kolejnym problemem z którym trzeba się zmierzyć są zniekształcenia spowodowane krzywizną soczewek kamery. Są to tzw. Zniekształcenia radialne. Kalibracja kamery miałaby na celu znalezienie współczynników zniekształcenia k1 i k2. x = x + x[k1(x 2 + y 2 ) + k2(x 2 + y 2 ) ý = y + y[k1(x 2 + y 2 ) + k2(x 2 + y 2 ) gdzie x, y znormalizowane idealne współrzędne obrazu x, y znormalizowane współrzędne obrazu zniekształconego 3.3 Ekstrakcja tła Ekstrakcja tła dzieli się na 2 fazy: faza uczenia faza ekstrakcji W fazie uczącej dla każdego piksela wyznaczana jest średnia jasność piksela oraz średnia kwadratów w N klatkach: m(x, y) = S(x, y) N gdzie: s(x,y) - wartość piksela w punkcie x, y N - liczba klatek uczenia Decyzja czy punkt należy do tła czy nie zależy od wyniku równania: abs(m(x, y) p(x, y)) > thre gdzie: thre - stały próg 4 Detekcja markerów 4.1 Detekcja wstępna Detekcja składa się z 2 etapów wstępnych: 1. Warunkiem koniecznym detekcji jest załadowanie obrazu z wzorcowym markerem lub zdjęcie z wycinkami markera wykonanym w różnym oświetleniu. 2. Wykonanie histogramu obrazu wzorca w składowej Hue. 6

4.2 Algorytm mean shift 4 DETEKCJA MARKERÓW Wizualizacja fazy wstępnej wykrywania obiek- Rysunek 3: tów Detekcja właściwa: Mając histogram składowej H wzorca markera, na przychodzącej klatce wykonywany jest rzut w płaszczyźnie H. Dzięki temu otrzymujemy na płaszczyźnie nowo powstałego óbrazużozkład prawdopodobieństwa wystąpienia danego koloru ( H ). gdzie K(x, y) = H(P h (x, y)) P h (x, y) wartość składowej h na pozycji x,y H(h) funkcja histogramu h - [0, 180] K(x, y) - funkcja rozkładu 4.2 Algorytm mean shift Rysunek 4: Działanie algorytmu mean shift Mając punkt początkowy oraz pewien obszar wokół tego punktu wyznaczany jest wektor przesunięcia w kierunku maksimum funkcji rozkładu wyznaczonej na tym obszarze. Przesunięcie się odbywa iteracyjnie aż wartość tego wektora (jego długość) nie przekroczy pewnego wyznaczonego eksperymentalnie progu. 7

5 ŚLEDZENIE MARKERÓW 5 Śledzenie markerów Śledzenie również składa się z 2 etapów: Inicjalizacja śledzenia przez znalezienie właściwych markerów Śledzenie punktów filtrem Kalmana Inicjalizacja ma na celu poprawne wyznaczenie markerów a także ich poprawną klasyfikację. Proces inicjalizacji: Postać powinna stać w miarę nieruchomo Pozycje maksimów dodawane są do listy markerów jeżeli ich pozycja w ciągu p klatek nie zmieni się o d. Po spełnieniu warunku rozpoczyna się właściwa faza śledzenia. Mając zainicjalizowaną listę markerów L(m) z pozycjami P i za pomocą filtru Kalmana wyznaczane są najbardziej prawdopodobne pozycje KP i +1 markerów w kolejnej klatce. Po otrzymaniu nowej klatki i wyznaczeniu w niej maksimów M, wyznaczane są nowe pozycje markerów. Nową pozycją P i + 1 markera L(m) jest maksimum z M najbliższe estymaty KP i+1 (m). Rysunek 5: Schemat procesu śledzenia dla jednego punktu 8

LITERATURA LITERATURA Literatura [1] Zhengyou Zhang "Flexible camera calibration by viewing a plane from unknown orientations" http://research.microsoft.com/ zhang [2] Daniel Roetenberg, Human Motion Analysis http://www.xsens.com [3] Jelski Krzysztof, Rokita Przemysław Sterowanie kursorem w przestrzeni trójwymiarowej za pomocą obrazu z 2-kamer [4] Yaron Ukrainitz, Bernard Sarel Mean Shift - theory and applications 9