Uwaga! Upadek! Opis zadania konkursowego



Podobne dokumenty
Praca dyplomowa inżynierska

Certyfikowany tester Plan poziomu podstawowego

Dokument powstał we współpracy z Prezesem Urzędu Ochrony Konkurencji i Konsumentów na podstawie wytycznych Komisji Europejskiej

Reprezentacja dokumentów tekstowych w modelu przestrzeni wektorowej

Inteligentny system monitorowania linii Multilin

Instrukcja obsługi programu CZAS PRACY EWIDENCJA - rejestracja czasu pracy pracowników.

Przewodnik po kryteriach wyboru finansowanych operacji w ramach Programu Operacyjnego Inteligentny Rozwój,

9. Protokoły sieciowe TCP/IP

Instrukcja obsługi rejestratora TruVision DVR 11

Minister Infrastruktury i Rozwoju

Acronis i Acronis Secure Zone są zastrzeżonymi znakami towarowymi firmy Acronis, Inc.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

BlackBerry Q10 Smartphone. Wersja: użytkownika. Podręcznik

INSTRUKCJA OBSŁUGI PROGRAMU. INFOR System KSIĘGA PRZYCHODÓW I ROZCHODÓW. Nasza wiedza i narzędzia wspierają Twoją strategię. Wersja 9.

Regulamin HAPTICATHONU (dalej Regulamin ) 1 POSTANOWIENIA OGÓLNE

Różne reprezentacje mapy feromonowej w problemie plecakowym

Procedura prowadzenia kontroli krzyżowych w ramach Programu Operacyjnego Kapitał Ludzki

Wybrane metody oceny użyteczności stron i aplikacji internetowych

Jak działa Internet i co z tego wynika dla prób jego regulacji?

Profil metadanych dla dokumentów planistycznych określonych w ustawie o Planowaniu i Zagospodarowaniu Przestrzennym

Informacja na temat ustanowienia ram wykonania

Metodyka prowadzenia szkoleń. z wykorzystaniem urządzeń. mobilnych dla e-biznesu

Europejski system transferu osiągnięć w kształceniu i szkoleniu zawodowym System ECVET Poznaj system ECVET lepiej pytania i odpowiedzi

CA-10 Wersja programowa 5.11

LOGO!Soft Comfort pomoc online

Narodowy Program Ochrony Infrastruktury Krytycznej. Narodowy Program Ochrony Infrastruktury Krytycznej

Szczegółowy zakres zadań Wykonawcy

PALIW GAZOWYCH. Dokument powstał we współpracy z Prezesem Urzędu Ochrony Konkurencji i Konsumentów na podstawie wytycznych Komisji Europejskiej.

(Akty o charakterze nieustawodawczym) ROZPORZĄDZENIA

Transkrypt:

Uwaga! Upadek! Opis zadania konkursowego Zadanie Opracowanie algorytmu automatycznie rozpoznającego upadek osoby na nagraniu wideo i wdrożenie stworzonego rozwiązania jako usługi na superkomputerowej platformie KASKADA. Opis problemu Zadaniem każdego zespołu biorącego udział w konkursie jest opracowanie algorytmu analizującego w czasie rzeczywistym strumień wideo (np. z kamery systemu monitoringu) i wykrywającego sytuację upadku (przewrócenia się) osoby. Algorytm taki mógłby mieć zastosowanie w zaawansowanych systemach monitoringu, automatycznie rozpoznając niebezpieczną dla zdrowia ludzkiego sytuację i umożliwiając natychmiastową reakcję odpowiedniego personelu (np. w przypadku imprez masowych). Politechnika Gdańska, ul. Gabriela Narutowicza 11/12, 80-233 Gdańsk 1/7

Upadek definiujemy jako sekwencję następujących kroków: 1. Osoba widoczna na nagraniu znajduje się w stanie normalnym, tzn. (a) stoi w miejscu, (b) idzie, lub (c) biegnie (rys 1.). Rys. 1: Stan podstawowy 2. Osoba traci równowagę w wyniku potknięcia, poślizgnięcia lub omdlenia. 3. Osoba przewraca się (a) do tyłu, (b) pionowo w dół, lub (c) do przodu (rys 2.). Rys. 2: Utrata równowagi 4. Osoba upada na ziemię i zatrzymuje się w pozycji (a) klęczącej lub (b) leżącej (rys. 3). Politechnika Gdańska, ul. Gabriela Narutowicza 11/12, 80-233 Gdańsk 2/7

Rys. 3: Koniec upadku Dla każdej tak zdefiniowanej sytuacji przewrócenia się osoby w danym strumieniu wideo algorytm powinien zgłosić wystąpienie upadku i podać jego orientacyjną lokalizację na nagraniu (patrz rys. 4). Rys. 4: Wykrycie upadku Współrzędne upadku określane będą poprzez parę dodatnich liczb całkowitych (x, y) identyfikującą pojedynczy piksel na ramce wideo (x współrzędna pozioma, y pionowa). (0, 0) oznacza lewy górny róg ramki. Na rys. 5 przedstawiono współrzędne przykładowych punktów na ramce wideo w formacie 1280x720 pikseli. Politechnika Gdańska, ul. Gabriela Narutowicza 11/12, 80-233 Gdańsk 3/7

Rys. 5: Współrzędne przykładowych punktów na ramce wideo w formacie 1280x720 Ze względu na specyfikę problemu, algorytm musi działać w czasie rzeczywistym. Każde wystąpienie upadku powinno zostać zgłoszone dokładnie jeden raz, przy czym zgłoszenie powinno zostać wysłane najwcześniej w momencie utraty równowagi przez daną osobę (punkt 2.), a najpóźniej 5 sekund po zakończeniu upadku (punkt 4.). Algorytm powinien uwzględniać fakt, że upadkami nie są sytuacje, kiedy osoba na strumieniu siada (na krześle/na ziemi). Proces wytwarzania W trakcie konkursu zespoły będą opracowywać, implementować i testować algorytmy wykrywania upadku, wykorzystując infrastrukturę Centrum Doskonałości Naukowej Infrastruktury Wytwarzania Aplikacji (CD NIWA), w tym platformę KASKADA, przeznaczoną do wydajnego przetwarzania danych wideo i audio na superkomputerze. Ogólne informacje o platformie znajdują się na stronie http://kaskada.gda.pl/. Zespoły będą implementować opracowane przez siebie algorytmy w języku C++. Udostępnione szablonowe kody źródłowe zawierać będą bazową klasę dla algorytmu: class FallDetectionAlgorithm :... { protected: void processframe(uint64_t timestamp, const cv::mat& frame) = 0; void falldetected(int x, int y);... }; Za odczyt i dekodowanie wejściowych danych wideo odpowiedzialna będzie platforma KASKADA, w związku z czym zespoły nie będą implementować tego typu funkcjonalności. Politechnika Gdańska, ul. Gabriela Narutowicza 11/12, 80-233 Gdańsk 4/7

Kolejne zdekodowane ramki wideo będą automatycznie przekazywane przez platformę do metody processframe(), której implementacja będzie zadaniem uczestników konkursu. Ramki przekazywane będą przez zmienną frame, w formie obiektu cv::mat (biblioteka OpenCV), w formacie RGB, 8 bitów na piksel. W zmiennej timestamp zawarty będzie znacznik czasowy danej ramki (liczba milisekund od początku strumienia). W momencie wykrycia upadku, implementacja algorytmu powinna wywołać metodę falldetected(), przekazując orientacyjne współrzędne (x, y) upadku na strumieniu wideo. Zaimplementowany algorytm nie powinien dokonywać modyfikacji wejściowego strumienia wideo. Oznaczanie upadku na strumieniu realizowane będzie automatycznie, na podstawie wywołań metody falldetected(). Algorytmy implementowane będą w formie usług platformy KASKADA (rys. 6). Szczegółowa instrukcja korzystania z platformy, szablon kodu źródłowego oraz przykładowe nagrania wideo zostaną udostępnione na początku konkursu. Rys. 6: Implementacja algorytmu w środowisku platformy KASKADA Wymagania techniczne Rezultat prac każdego zespołu konkursowego powinien spełniać następujące wymagania: Politechnika Gdańska, ul. Gabriela Narutowicza 11/12, 80-233 Gdańsk 5/7

1. Rozwiązanie musi zostać poprawnie skompilowane i wdrożone jako usługa na platformie KASKADA. język implementacji: C++, kompilator: GCC 4.7.2. Sugerowane jest wykorzystanie w implementacji biblioteki OpenCV (http://opencv.org/). W ramach środowiska platformy KASKADA zostaną udostępnione biblioteki OpenCV w wersji 2.4.10 oraz 3.0.0 beta. 2. Usługa musi działać poprawnie dla strumieni wideo o następujących parametrach: rozdzielczość: 1280 720 pikseli, częstotliwość: minimum 15 klatek na sekundę, maksimum 30 klatek na sekundę. 3. Dla wszystkich typów strumieni wideo wymienionych w punkcie 2., usługa musi działać w czasie rzeczywistym, tzn. do metody processframe() kolejne klatki przekazywane będą z częstotliwością odpowiadającą częstotliwości analizowanego strumienia wideo, zasygnalizowanie wykrycia upadku poprzez wywołanie metody falldetected() powinno nastąpić najwcześniej w momencie otrzymania przez algorytm pierwszej ramki strumienia przedstawiającej początek upadku (osoba traci równowagę), a najpóźniej 5 sekund po otrzymaniu przez algorytm ramki przedstawiającej koniec upadku (osoba leży na ziemi/klęczy). Wymaganie czasu rzeczywistego dotyczy usługi wdrożonej na platformie KASKADA, działającej na pojedynczym węźle superkomputera o następujących parametrach: procesor: 2x Intel Xeon L5640, pamięć RAM: 16 GB, interfejs sieciowy: InfiniBand 40 Gb/s. Procedura oceny Oceny opracowanych w konkursie aplikacji dokona Jury konkursu. Każda usługa zostanie uruchomiona na zestawie testowych strumieni wideo zawierających nagrania upadków. Każdy film może zawierać zero lub więcej zdarzeń upadku, w tym także występujących jednocześnie. Przypadki testowe zostaną ujawnione po zakończeniu konkursu. W celu oceny algorytmu konkursowego obliczane zostaną trzy wartości: True Positive (TP) liczba przypadków, w których algorytm prawidłowo zidentyfikował zdarzenie jako upadek, Politechnika Gdańska, ul. Gabriela Narutowicza 11/12, 80-233 Gdańsk 6/7

False Positive (FP) liczba przypadków, w których algorytm nieprawidłowo zidentyfikował inne zdarzenie (np. siadanie na krześle) jako upadek lub zgłosił wystąpienie upadku zbyt późno (więcej niż 5 sekund po jego wystąpieniu), False Negative (FN) liczba przypadków, w których algorytm nie wykrył zdarzenia upadku. Skuteczność algorytmu konkursowego jest oceniana na podstawie F-miary, obliczanej zgodnie z formułą: 2TP F 1= 2TP+FP+FN 100% W przypadku uzyskania przez kilka algorytmów takiej samej wartości F-miary, pod uwagę brane będą parametry wydajnościowe, tj. ilość zużywanych zasobów oraz średni czas przetwarzania pojedynczej ramki wideo. Politechnika Gdańska, ul. Gabriela Narutowicza 11/12, 80-233 Gdańsk 7/7