Mateusz Wawrzyniak & Michał Warzocha

Slides:



Advertisements
Podobne prezentacje
Sieć jednokierunkowa wielowarstwowa
Advertisements

Wzorce.
SIECI NEURONOWE Sztuczne sieci neuronowe są to układy elektroniczne lub optyczne, złożone z jednostek przetwarzających, zwanych neuronami, połączonych.
Zaawansowane metody programowania – Wykład V
Anna Bączkowska Praca po kierunkiem dr M. Berndt - Schreiber
Katedra Informatyki Stosowanej UMK
Inteligencja Obliczeniowa Perceptrony
Przegląd zastosowań.
Sztuczne sieci neuronowe
Opracowała: Elżbieta Fedko
Ulepszenia metody Eigenfaces
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Dziedziczenie i jego rodzaje
Czy potrafimy obliczyć wartość wyjścia sieci znając wartości jej wejść? Tak, przy założeniu, że znamy aktualne wartości wag i progów dla poszczególnych.
Systemy operacyjne.
Magistrala & mostki PN/PD
Rozpoznawanie obrazów
Paweł Kramarski Seminarium Dyplomowe Magisterskie 2
Camera fighter Michał Grędziak
Wstęp do programowania obiektowego
Mirosław ŚWIERCZ Politechnika Białostocka, Wydział Elektryczny
Projektowanie i programowanie obiektowe II - Wykład IV
Sieci Hopfielda.
Zastosowanie technologii CUDA w sztucznej inteligencji
Klasyfikacja dokumentów za pomocą sieci radialnych
Klasyfikacja dokumentów za pomocą sieci radialnych Paweł Rokoszny Emil Hornung Michał Ziober Tomasz Bilski.
Możliwości biblioteki logiczno-fizycznej opartej na systemie masa-sprężyna jako środowiska modelowania rzeczywistości wirtualnej. Przegląd zagadnień Seminarium.
ALGORYTMY.
Fraktale i chaos w naukach o Ziemi
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Instytut Tele- i Radiotechniczny WARSZAWA
Technologia informacyjna
Podstawowe pojęcia i problemy związane z przetwarzaniem plików graficznych.
Opracował : Przemysław Drzymała
Detekcja twarzy w obrazach cyfrowych
Uczenie w Sieciach Rekurencyjnych
GŁOSOWA ŁĄCZNOŚĆ Z KOMPUTEREM
Maszyna wirtualna ang. virtual machine, VM.
Marcin Jaruszewicz Jacek Mańdziuk
EXCEL Wykład 4.
Gdzie ucieka ciepło z budynku?
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Wybrane zagadnienia relacyjnych baz danych
Źródła błędów w obliczeniach numerycznych
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
TECH – INFO technika, fizyka, informatyka
JĘZYKI ASSEMBLEROWE ..:: PROJEKT ::..
PODSTAWY SIECI KOMPUTEROWYCH - MODEL ISO/OSI. Modele warstwowe a sieci komputerowe Modele sieciowe to schematy funkcjonowania, które ułatwią zrozumienie.
EXCEL Wstęp do lab. 4. Szukaj wyniku Prosta procedura iteracyjnego znajdowania niewiadomej spełniającej warunek będący jej funkcją Metoda: –Wstążka Dane:
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.
Podstawy programowania
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Wybrane zagadnienia inteligencji obliczeniowej Zakład Układów i Systemów Nieliniowych I-12 oraz Katedra Mikroelektroniki i Technik Informatycznych proponują.
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
Narzędzia AI Dominik Ślęzak, Pokój Wykład dostępny na:
GeneracjeTechnologia Architektura przetwarzania 0. Przekaźniki elektromechaniczne 1. Lampy elektronowe 2. Tranzystory 3. Układy scalone 3.5.Układy dużej.
Testy jednostkowe. „Test jednostkowy (unit test) to fragment kodu, który sprawdza inny fragment kodu”
S KANER TĘCZÓWKI OKA Praca dyplomowa inżynierska – Maciej Stępski
Machine learning Lecture 6
Systemy neuronowo – rozmyte
Zbiory rozłączne.
Kognitywne właściwości sieci neuronowych
Wstęp do Informatyki - Wykład 4
Zrozumieć, przeanalizować i rozwiązać
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
Inteligencja Obliczeniowa Perceptrony
Zapis prezentacji:

Mateusz Wawrzyniak & Michał Warzocha Rozpoznawanie twarzy Mateusz Wawrzyniak & Michał Warzocha

Rozpoznawanie twarzy Może się wydawać, że nie ma nic prostszego niż rozpoznanie twarzy. My, ludzie, rutynowo rozpoznajemy znajomych nawet po wielu latach. Potrafimy błyskawicznie wyłowić te cechy danego oblicza, które są charakterystyczne dla danej osoby. Dla komputera nie jest to jednak zadanie oczywiste. Stworzenie algorytmu, realizującego tę funkcję, okazuje się skomplikowane. W ostatnim czasie technologie komputerowego rozpoznawania twarzy zaczęły być powszechnie dostępne i wykorzystywane

Zagadnienie automatycznego wykrywania przedmiotem badań od wielu lat Zagadnienie automatycznego wykrywania przedmiotem badań od wielu lat. Osiągnięto w tej dziedzinie znaczny postęp i wydaje się, że współczesne algorytmy detekcji twarzy są już całkiem dojrzałe i skuteczne, a jednocześnie szybkie. Implementuje się je nawet w aparatach fotograficznych czy telefonach komórkowych (jest to implementacja sprzętowa, a więc z definicji szybka). Algorytmy detekcji twarzy (czy innych dość charakterystycznych obiektów) opierają się na wykrywaniu pewnych prostych wzorców geometrycznych o wysokim kontraście (ciemne i jasne plamy).

OpenCV OpenCV (ang. Open Source Computer Vision Library) jest biblioteką do przetwarzania obrazów w czasie rzeczywistym. Obecnie udostępniana jest na licencji BSD i wspiera wszystkie najważniejsze platformy programowe. Napisana jest w C, ale istnieją nakładki na inne języki. Możliwości biblioteki są ogromne, począwszy od prostych operacji na pojedynczych pikselach przez zaawansowane algorytmy przetwarzania obrazów, po algorytmy uczenia maszynowego, wykorzystywane w takich zagadnieniach jak detekcja twarzy. Niewątpliwą zaletą jest możliwość wykonywania wszystkich operacji "w locie", bezpośrednio na strumieniu wideo. Biblioteka składa się z czterech głównych komponentów: CV - przetwarzanie obrazów i algorytmy wizyjne. MLL - klasyfikatory i narzędzia grupujące. HighGUI - GUI oraz wejście/wyjście dla obrazów i wideo. CXCORE - podstawowe struktury danych i algorytmy.

Klasyfikator Haara OpenCV używa wykrywacza twarzy nazywanego klasyfikatorem kaskad Haar'a(Haar Cascade Classifier). Wykrywacz ten, na podanym obrazku przeprowadza analizę każdej części obrazka i klasyfikuje ją jako zawierającą twarz bądź nie. Klasyfikator przybiera stałą skalę dla twarzy(jej rozmiar na obrazku) Twarze na obrazku mogą być większe lub mniejsze od tej stałej skali, co w praktyce oznacza, że algorytm klasyfikatora musi być wykonany kilkakrotnie na danym obrazku, aby w końcu mógł wyodrębnić poszukiwane twarze. Klasyfikator wyodrębnia twarze na podstawie danych zapisanych w pliku XML, w którym to znajdują się definicje poszukiwanych przez nas twarzy

Jak właściwie działa wykrywanie twarzy? Detektor twarzy zastosowany w bibliotece OpenCV używa metody Paul'a Viola i Michael'a Jones'a – w skrócie Viola- Jones. Metoda ta zawiera w sobie cztery kluczowe koncepcje: szukanie prostokątnych kształtów, zwanych cechami Haar'a, integralność obrazu, aby bardzo szybko móc wyszukać daną cechę, algorytm zawiera metodę uczenia się AdaBoost, klasyfikator łączy ze sobą wiele cech w sposób efektywny(nakładanie się, zachodzenie, zawieranie się w sobie, części wspólne).

Cechy Haara Cechy Haara wykorzystywane w detekcji twarzy (lub innych obiektów). 1- cechy krawędziowe, 2 - cechy liniowe, 3 - cechy centralne

Klasyfikator jest uczony na podstawie setek lub tysięcy przykładowych obiektów o znormalizowanych wymiarach (zwanych przykładami pozytywnymi) oraz setek czy tysięcy przykładowych obrazów niezawierających poszukiwanych obiektów (zwanych przykładami negatywnymi). Klasyfikator, po zaprezentowaniu tysięcy obrazów pozytywnych i negatywnych odpowiednio buduje swoje drzewa decyzyjne wykrywające poszczególne wzorce podstawowe. Dobrze wytrenowany klasyfikator pozwala na wykrycie obecności nauczonego obiektu w obrazie. Działanie takiego detektora polega w przybliżeniu na tym, że po obrazie przesuwane jest okienko o rozmiarze wzorca uczącego i rejestrowana jest "odpowiedź" klasyfikatora ("znaleziony" lub "nie znaleziony") w danym obszarze.

Znaleziona twarz

Biblioteka FANN Biblioteka Fast Artificial Neural Network (FANN) została ona udostępniona w listopadzie 2003 roku przez duńskiego informatyka Steffena Nissena. Do najistotniejszych właściwości FANN należą: możliwość zastosowania wraz z 15 językami programowania, wielowarstwowość sieci neuronowych, szkolenie wsteczne z propagacją błędów, łatwa obsługa danych treningowych, ewolucja kształcenia topologii sieci neuronowych, możliwość użycia do zastosowań komercyjnych na licencji LGPL, dobrze rozbudowana dokumentacja projektowa,

Nasza sieć neuronowa Nasza sieć neuronowa składa się z 3 warstw. W warstwie wejściowej jest 1600 neuronów ponieważ te zdjęcia które są przez nas używane są w rozmiarach 40x40 pikseli, w warstwie ukrytej posiada 55 neuronów, a w warstwie wyjściowej trzy. Ta architektura sieci została dobrana metodą prób i błędów ponieważ nie ma konkretnej ujednoliconej zasady na dobranie rozmiarów warstwy ukrytej. Sieć posiada trzy wyjścia dlatego , że została dopasowana do naszych twarzy za co odpowiadają dwa pierwsze wyjścia , trzecie wyjście odpowiada za nierozpoznanie żadnego z nas. W przypadku gdy sieć miałaby rozpoznawać więcej osób to ilość wyjść = n+1, gdzie n = ilość twarzy do rozpoznania.

Przykład działania naszego programu