Tytuł
Oprogramowania śledzące osoby poruszające w pomieszczeniu obserwowanym przez kamerę wideo
Data
04.04.2004
Autor
Mikołaj Antoniewcz
Cel projektu
Stworzenie oprogramowania które na sakwencjach video będzie potrafiło:
  1. Wykrywać ruch w sali obserwowanej przez kamerę
  2. Wyróżniać z obrazu poruszające się osoby i je etykietować
  3. Rozpoznawać osoby na podstawie koloru ubioru
  4. Przetwarzać obraz z kamery w czasie rzeczywistym
Kryteria oceny
Zdolność programu do:
  1. Śledzenia osoby i nadawania jej prawidłowej etykiety (np: czas przez jak długi program był wstanie śledzić daną osobę)
  2. Rozpoznawiania osób - trafność w rozpoznawaniu osób
Uczenenie maszynowe
Brak złożonego uczenia maszynowego
Sposób analizy obrazu
Lokalna analiza interesujących fragmentów obrazu
Sposób analizy obrazu
Wstępna analiza całego obrazu w celu wykrycia interesujących fragmentów, a następnie szczegółowa analiza fragmentu obrazu.
Rodzaj podejścia do wnioskowania
Podejście niebezpośrednie z wnioskowaniem na podstawie cech.
Algorytm działania - 4 fazy:
  1. Faza rejestracji obrazu tła i analizy szumu
  2. Faza pobierania obrazu z kamery
  3. Faza obróbki obrazu
  4. Faza wyznaczenia wykrytych obiektów
Faza 1 - tło oraz szum
Rejestracja obrazu tła oraz analiza szumu:
  1. Rejestracja kolejnych 30 klatek obrazu
  2. Analiza obrazu pod kątem największych zmian składowych
  3. RGB podczas rejestracji obrazu nieruchomego w stosunku do pierwszej zarejestrowanej klatki
  4. Zapamiętanie największych zmian jako szum (metoda dyskryminująca w silny sposób)
  
Faza 2 i 3 - rejestracja i obróbka obrazu
Obróbka obrazu:
  1. Obliczanie różnic pomiędzy obrazem tła a nowo zarejestrowanym
  2. Binaryzacja obrazu różnic
  3. Erozja zbinaryzowanego obrazu
  4. Dylatacja obrazu
  5. Wykrywanie konturów
  6. Transformacja konturów do prostokątów i ich łączenie
  7. Odrzucanie małych konturów
Obraz tła oraz analizowana klatka:
  
Wynik operacji SUB oraz binaryzacji:
Faza 4 - wyznaczanie obiektów
Operacje na konturach i wyznaczanie obiektów:
  1. Sprawdzenie czy w poprzedniej klatce w danym miejscu
  2. lub miejscu bliskim istniał już obiekt
  3. Jeżeli tak to przepisanie jego etykiety
  4. Jeżeli nie obiekt zostaje uznany za nowy
  5. Obiekt nowy uzyskuje etykietę dopiero po 25 klatkach istnienia
     
  
Środowisko programistyczne
MS Visual C++ 7.0
Biblioteka
OpenCV