MENU |
Tematyka prac dyplomowych
związana jest najczęściej z programowaniem robotów mobilnych, manipulatorów
czy innych urządzeń wykonawczych oraz z przetwarzaniem obrazów, zwłaszcza
pod kątem wykorzystania informacji wizyjnej do podjęcia jakiegoś działania. Nie
znaczy to jednak, że tematy niezwiązane z wyżej wymienionymi zagadnieniami się zupełnie
nie zdarzają - są one jednak w mniejszości. Jeżeli Państwo macie jakiś własny
pomysł, który chcielibyście zrealizować albo już nad czymś pracujecie
i chcielibyście niejako przy okazji "zrobić dyplom", to proszę się ze mną skontaktować.
Jestem otwarty na wszelkie inne propozycje, które choć trochę ocierają się o moją
wiedzę i zainteresowania. Wszelkie
Państwa pomysły zostaną z należytą uwagą rozważone. Proponuję także zapoznać się z pracami zrealizowanymi
bądź będącymi w trakcie realizacji.
Materiały do większości proponowanych przeze mnie tematów są u mnie dostępne w postaci sprawozdań,
artykułów, książek, a także fragmentów gotowego kodu. Nie oznacza to,
oczywiście, że zupełnie nie będzie potrzeby poszukiwania dodatkowych informacji,
a wręcz przeciwnie - jednym z wymagań stawianych przyszłemu absolwentowi jest umiejętność
odszukania i krytycznego przejrzenia dostępnych materiałów związanych z tematem
pracy.
Nie jest to zresztą kłopotliwe w dobie Internetu - 99% niezbędnej wiedzy znajdziecie
Państwo bez trudu w sieci.
Pragnę zwrócić uwagę, że w trakcie pisania pracy
można nieco zmienić jej temat,
gdy okaże się, że nasze przewidywania czy oczekiwania co do rozwoju sytuacji się
zmienią. Poza tym tematy projektów są często formułowane dosyć ogólnie, aby dać Państwu możliwość
wyboru konkretnych problemów do rozwiązania podczas pracy.
Jako język programowania zdecydowanie preferuję C/C++, ale nie jest to warunkiem koniecznym we wszystkich
projektach. Jeśli chodzi
o przetwarzenie obrazów to sugeruję wykorzystanie jednej z najlepszych (i do tego darmowych) bibliotek
do przetwarzania i analizy obrazów jaką jest OpenCV. UWAGA: zazwyczaj nie są wymagane wysokie umiejętności programowania
w C++ czy też znajomość tajników przetwarzania obrazów. Wystarczą jedynie podstawy,
gdyż większość kodu jest realizowana przez bibliotekę przetwarzania obrazów i nie
pociąga to za sobą konieczności tworzenia skomplikowanych aplikacji, a sam kod jest
stosunkowo prosty i zbliżony bardziej do standardowego C z elementami obiektowości.
W razie jakichkolwiek pytań zapraszam do pokoju GE-519B lub SK-201 w
godzinach konsultacji, a także w innych porach lub o kontakt emailowy.
UWAGA! Większość tematów można realizować w wersji
max lub min. Wersja max przeznaczona jest dla osób, którym
zależy na bardzo dobrej ocenie z pracy, co wiąże się ze stosunkowo szerokim potraktowaniem
tematu. Wersja min kierowana jest do osób, które nie mają zbyt dużo wolnego
czasu (np. pracują) lub nie zależy im szczególnie na bardzo dobrej ocenie pracy
(bo i tak średnia ze studiów jest niska) i po prostu chcą wypełnić wymagania, ale
w minimalnym stopniu.
Liczba miejsc jest zdecydowanie
OGRANICZONA. Nie jestem w stanie rzetelnie prowadzić więcej niż ok. 10 prac jednocześnie.
Propozycje
tematów prac magisterskich* (inżynierskie niżej)
*większość
prac magisterskich może być realizowana w okrojonej formie jako prace inżynierskie
-
Automatyczna identyfikacja osób na podstawie
analizy obrazów - praca polega na wykorzystaniu
i rozszerzeniu gotowego algorytmu wykrywającego twarze ludzkie. Algorytm ten dosyć dobrze radzi sobie z wykryciem twarzy w obrazie, natomiast
zupełnie ich nie odróżnia (bo nie był do tego napisany). Zadanie polega na wykorzystaniu
ww algorytmu do lokalizacji twarzy oraz jej charakterystycznych cech (położenie
oczu, nosa ust itp.), a następnie zaproponowaniu metody (zespołu cech, kalsyfikatora)
pozwalającej na odróżnienie osób od siebie (najpierw, oczywiście, należy kalsyfikator
"nauczyć"), a może także rozróżnianie płci czy szacunkowe określenie wieku? Dla
uproszczenia można założyć, że mamy do czynienia jedynie ze zdrowymi i niezdeformowanymi
twarzami osób rasy kaukaskiej (białej). Podobna praca została
już zrealizowana przy użyciu pewnego gotowego algorytmu - ta praca polegałaby na
stworzeniu własnej metody biometrycznej.
-
Detekcja i lokalizacja przestrzenna obiektów
przez jednokamerowy system wizyjny
- praca polega na wykorzytaniu gotowego algorytmu klasyfikacji
obiektów do rozpoznania typowych przedmiotów w otoczeniu człowieka, np. kubków,
butelek, sztućców, talerzy itp. oraz próby ich lokalizacji w przestrzeni trójwymiarowej
względem kamery. Innymi słowy, na podstawie zdjęcia zrobionego w kuchni, program
określi, że widać np. kubek i że znajduje się on mniej więcej metr od kamery. Praca
ma raczej charakter badawczy, gdyż algorytm istnieje - trzeba go "tylko" przetestować.
-
Projekt i zastosowanie systemu optycznych
czujników odometrycznych do sterowania robotem mobilnym - praca
niby zrealizowana,
ale w zasadzie zostało wykonane tylko urządzenie (raczej prototyp, ale i tak nie było to łatwą sprawą), brak jest jakichkolwiek badań, a więc nadal jest b.duże pole do popisu. Należy porównać rzeczywiste wyniki
pomiarów przesunięcia i obrotu obiektu (pytanie: jak
je zmierzyć?) z tymi otrzymanymi przez zespół czujników.
Niestety czujniki (tanie myszki optyczne) zachowują się niezgodnie z oczekiwaniami
(przekłamują przy ruchu w jedną stronę) - należałoby je wymienić na inne (albo skompensować błędy, o ile
są to błędy systematyczne) i dopiero
przeprowadzić badania. Aby zastosować to do rzeczywistego robota konieczne jest
użycie miniaturowych soczewek (które należy dobrać do zestawu i precyzyjnie zamontować,
niemniej ten etap nie jest konieczny).
-
Rozpoznawanie dłoni i gestów w czasie rzeczywistym - praca polega na zastosowaniu
gotowego algorytmu identyfikacji kolorów i segmentacji obrazu do
rozpoznania charakterystycznej barwy ludzkiej skóry i identyfikacji dłoni umieszczonej
przed kamerą. Kolejnym celem jest rozpoznania podstawowych gestów czy układów dłoni,
najlepiej w czasie rzeczywistym. Praca jest niby w trakcie realizacji, ale dyplomant
zaginął, więc temat staje się wolny. Warto zerknąć na zrealizowany
projekt indywidualny, który miał być rozwijany w ramach pracy magisterskiej.
-
Sterowanie grupą robotów mobilnych w systemie
z wizyjnym sprzężeniem zwrotnym - praca
polega na zastosowaniu prostego algorytmu przetwarzania obrazów do lokalizacji
niewielkich robotów mobilnych, a także do ich możliwie precyzyjnego sterowania. Algorytm jest gotowy w wersji prototypowej.
W ogólności chodzi o to, by obserwować znaczniki umieszczone na robotach za pomocą
kamery podsufitowej i na tej podstawie wyznaczać pozycję robotów.
-
Śledzenie nieznanych obiektów w sekwencjach
obrazów - w trakcie realizacji, ale
jest jeszcze dużo innych metod do zbadania i opisania
- praca polega na dokonaniu przeglądu
metod śledzenia obiektów i wykorzystaniu jednej z nich do śledzenia obiektów w sekwencjach
obrazów
- Zastosowanie systemu
wizyjnego do wykrywania pozostawionego bagażu
- praca polega na zaproponowaniu algorytmu wykrywającego pozostawiony bagaż - potencjalne
źródło zagrożenia. Metoda wykrywania takiego bagażu sprowadza się do wykrycia obszaru
w obrazie, który trwale zmienił swój wygląd. Wystarczy zatem odejmować kolejne klatki
z filmu od klatki wzorcowej (dla pustej sali), by stwierdzić, że fragmenty obrazu,
które różnią się od wzorca zawierają nowe elementy. Jeśli teraz taki nowy element
powtarza się przez ustalony czas, należy się jemu dokładnie przyjrzeć (wysłać kogoś
z obsługi) - to może być zgubiona czy podrzucona walizka, ale też może to być śpiący
pasażer.
Wykorzystanie systemu wizyjnego do automatycznej
analizy ruchu ulicznego - praca polega
na wykorzystaniu jednego lub kilku algorytmów do rozpoznawania
pojazdów w ruchu ulicznym, modyfikacji wybranego
algorytmu oraz analizie skuteczności. Celem jest np. zliczanie pojazdów. Jak
wykryć pojazdy? Można wykryć tablice rejestracyjne, można użyć metody różnicowej
(opisanej wyżej), możne użyć gotowych klasyfikatorów, przepływu optycznego itp.
-
Zastosowanie analizy obrazów do filtracji
graficznej zawartości stron WWW - praca
polega na wykorzystaniu gotowego algorytmu do wyszukania pewnych
charakterystycznych obrazów na stronach WWW (np. erotyki) i ich wykasowania. Można
do tego dodać detekcję ludzkiej skóry. Tylko jak rozróżnić kulturystę od roznegliżowanej
modelki?
-
Zastosowanie metod porównywania obrazów cyfrowych
do klasyfikacji i wyszukiwania obrazów w bazie danych
- praca polega na wykorzystaniu algorytmów
do porównywania obrazów (opartych na bezpośrednim porównywaniu pikseli, porównywaniu histogramów itp) do wyszukiwania podobnych
obrazów do danego z całej bazy danych. Przykładowym zadaniem może być znalezienie
wśród wszystkich obrazów tych, które przedstawiają nadmorską plażę albo do znalezienia podobnych scen w filmie.
-
Zastosowanie stereowizji do przestrzennej
lokalizacji obiektów - praca polega na zastosowaniu
kamery stereowizyjnej
do wykrywania obiektów w polu widzenia kamer.
Kamera stereowizyjna zwraca obraz,
którego piksele oznaczają odległość do obserwowanych przedmiotów - jeśli zatem na
obrazie przed pojawią się jasne piksele, będzie to oznaczać występowanie jakiegoś
przedmiotu w niewielkiej odległości od kamer. Problemem do rozwiązania jest opracowanie
metody porównywania otrzymanych obrazów stereowizyjnych różnych obiektów z ich wzorcami.
- Opracowanie odpornego algorytmu rozpoznawania tablic rejestracyjnych - na ten temat powstało już kilka prac, ale żaden z ich autorów nie opracował naprawdę
odpornego algorytmu rozpoznawania tablic rejestracyjnych. Opierając się na doświadczeniach
oprzednich dyplomantów należy opracować ulepszoną, skuteczniejszą wersję algorytmu.
Jest kilka wariantów: rozpoznawanie w ruchu ulicznym (fotoradary), stacjonarne (na
bramkach wjazdowych, stacjach benzynowych), w ruchu śledzącym (obraz z kamery wozu
policyjnego jadącego za obserwowanym pojazdem). Istotne jest jedno: algorytm ma
działać skutecznie i szybko. I to jest główna trudność.
- Wykorzystanie stereowizji do planowania ruchu
manipulatora - praca plega na zastosowaniu
kamery stereowizyjnej (zwracającej mapę odległości obserwowanej sceny) do lokalizacji obiektów w przestrzeni
roboczej manipulatora, ich uchwyceniu i przemieszczeniu.
Przykładem takiej aplikacji może być zagadnienie odkręcania butelki i nalewania
wody do szklanki czy też chwytania dowolnego obiektu (który da się uchwycić) pojawiającego
się w polu widzenia. Sprawa nie wydaje się trudna, jeśli założyć, że geometria podłoża
jest znana, a to można założyć: na (płaskim) stole, nad którym wisi kamera pojawia
się jakiś mały obiekt. Dokąd przemieścić szczękę manipulatora i jak ją obrócić,
by chwycić ten obiekt?
- Zastosowanie analizy obrazów do oceny stopnia
zmęczenia kierowcy - praca polega na zastosowaniu gotowej biblioteki
przetwarzania obrazów do lokalizacji twarzy kierowcy i oceny stopnia jego zmęczenia
na podstawie stosunku czasu, w którym oczy są otwarte i zamknięte (a jak ma okulary
przeciwsłoneczne to co?). Algorytm wykrywania głowy jest gotowy,
pozostaje wykrycie oczu (np. tą samą metodą, tylko trzeba dorobić model oka) i sprawdzenie
jak długo jest zamknięte i otwarte.
- Analiza punktu
spojrzenia
- praca polega na analizie obrazów oka zrobionych za
pomocą specjalnych okularów. Celem analizy jest dokładne wyznaczenie pozycji źrenicy,
co z kolei może być przeliczone na współrzędne punktu skupienia wzroku na ekranie.
- System wykrywania plagiatów
- praca polega na wykorzystaniu i modyfikacji gotowych algorytmów
porównywania tekstów i opracowaniu aplikacji wspomagającej wykrywanie plagiatów.
Wydaje się, że temat będzie wolny, gdyż dyplomant zaginął.
- System dialogowy - w trakcie realizacji,
ale spokojnie można to zrobić jeszcze raz, tylko inaczej - praca polega
na dokonaniu przeglądu istniejących systemów dialogowych (sztucznego rozmówcy) oraz
opracowaniu własnej propozycji takiego systemu. Praca jest dosyć czasochłonna -
możliwość podejścia dwuosobowego.
- Wykrywanie i usuwanie reklam z programów telewizyjnych
- praca polega na zaproponowaniu algorytmu
usuwającego reklamy przerywające filmy. Bloki reklamowe charakteryzują się nieco
wyższą głośnością oraz specyficznym obrazem początkowym i końcowym, które to należy
wykryć. Ewentualnością jest wskazanie algorytmowi jakich obrazów ma poszukiwać,
z tym że proces uczenia należałoby przeprowadzać dla każdego kanału i po każdorazowej
zmianie strony graficznej reklam, co jest dosyć uciążliwe.
- Wizyjny system lokalizacji przestrzennej z
wykorzystaniem znaczników - praca polega na zastosowaniu gotowego
algorytmu do rozpoznawania znaczników geometrycznych w celu ich lokalizacji
w przestrzeni. Należy zbadać z jaką precyzją lokalizowane są znaczniki. Badania
należy powtórzyć dla szeregu zaproponowanych znaczników różniących się kształtem
i/lub kolorem. Celem pracy jest znalezienie znacznika pozwalającego na pomiar jego
położenia i orientacji w przestrzeni z maksymalną dokładnością i/lub w maksymalnym
zakresie. Znaczniki takie stosuje się np. w piłce nożnej robotów, gdzie kamera patrząca
z góry na roboty identyfikuje je i ocenia ich położenie. Praca ma być rozszerzeniem
tego zagadnienia.
- System automatycznej selekcji zdjęć
- celem pracy jest zaproponowanie algorytmu wybierającego najlepsze ujęcie z serii.
Współczesne cyfrowe aparaty fotograficzne umożliwiają wykonywanie mnóstwa zdjęć,
często robi się ich kilka w danym momencie, aby potem wybrać to najlepsze, najostrzejsze,
itp. Część z tych operacji można zautomatyzować (wykrywanie scen, ostrości
zdjęcia, zamkniętych oczu, automatyczna redukcja czerwonych oczu itp.)
Propozycje tematów
prac inżynierskich* (magisterskie wyżej)
*część prac inżynierskich
może być realizowana w rozszerzonej formie jako prace magisterskie
Większość praktycznych prac inżynierskich opiera się na gotowym
kodzie i polega na jego uruchomieniu, przetestowaniu i opisaniu uzyskanych rezultatów.
-
Przetwarzanie obrazów na urządzeniach mobilnych - praca przeglądowa oraz przykład implementacji (dobre źródło: http://studierstube.icg.tu-graz.ac.at/thesis/Wagner_PhDthesis_final.pdf).
- Projekt optymalnej
trajektorii ruchu dla roboodkurzacza - praca praktyczna (w domu
lub w laboratorium) - jak powinien poruszać się prosty robot dwukołowy w pomieszczeniu
o nieznanej geometrii, nie mający mapy tego pomieszczenia i nie znający swego położenia,
by równomiernie pokrył całą powierzchnię tego pomieszczenia? Test kilku różnych
algorytmów.
- Budowa klasyfikatora
i weryfikacja jego działania - praca praktyczna (w domu) -
praca polega na zrobieniu 1000 (może 5000?) zdjęć danego obiektu (np. kubka) w różnych
warunkach oświetleniowych, uruchomieniu gotowego oprogramowania budującego na podstawie
tych zdjęć klasyfikator, a następnie sprawdzaniu jak taki klasyfikator rozpoznaje
nowe zdjęcia tego samego lub podobnych obiektów.
-
Implementacja i analiza wydajności szybkiego algorytmu segmentacji obrazów - praca praktyczna (w domu) - dla programisty C. Algorytm jest gotowy, kod jest
dostępny, ale trzeba go nieco przerobić, uruchomić i przetestować.
-
Rozpoznawanie prostych wzorów geometrycznych w zmiennych warunkach oświetleniowych - praca praktyczna (w domu). Problem wydaje się prosty, ale prosty nie jest. Czarna
plansza, zawierająca 4 białe kwadraty (albo odwrotnie) jest dla człowieka wyraźna
praktycznie w każdych warunkach. Celem pracy jest zaprojektowanie takiego sposobu
filtrowania i progowania obrazu, by możliwie w każdych warunkach owa plansza była
znaleziona w obrazie przez komputer. Część kodu już istnieje.
-
Optymalizacja korelacyjnej metody przeszukiwania obrazów - praca praktyczna
(w domu). Metoda przeszukiwania obrazów w celu znalezienia wzorca jest czasochłonna,
gdyż polega na sprawdzaniu obrazu piksel po pikselu. Tymczasem można zastosować
znane metody optymalizacyjne, które znacznie przyspieszą cały proces. Praca wymaga
umiejętności programowania w C.
- Symulacja zespołu
robotów w Microsoft Robotics Studio
- praca praktyczna (w domu).
-
Kalibracja robota mobilnego o napędzie różnicowym - praca praktyczna (w laboratorium). Doświadczalne dobranie kilku parametrów dla robota mobilnego,
którego celem jest spowodowanie by jadąc prosto robot faktycznie jechał prosto,
a skręcając o 90 stopni, skręcał faktycznie o 90 stopni. Praca raczej dla 2 osób
posiadających laptopa - konieczność realizacji czy może tylko weryfikacji w Aulii
PW (w laboratorium jest za mało miejsca).
-
Kalibracja kamery o zmiennej ogniskowej - praca praktyczna (w laboratorium).
Praca podobna do nr 11, ale tym razem mamy do czynienia z kamerą z zoomem. A więc
należy przeprowadzić procedurę kalibracji dla kilku nastaw zoomu i sprawdzić wyniki.
-
Analiza wpływu kształtów i rozmiarów znaczników geometrycznych na dokładność ich
lokalizacji w przestrzeni - praca praktyczna (raczej w laboratorium) - badanie
wydajności biblioteki ARToolkit zbliżone do tego: http://www.hitl.washington.edu/artoolkit/documentation/benchmark.htm
- Wykorzystanie
biblioteki ARToolkit do... - praca praktyczna (może być w domu)
- do... jednego z takich projektów: http://www.hitl.washington.edu/artoolkit/projects/
albo do jeszcze czegoś innego. Dla programisty C.
-
Optymalizacja wzoru dla aktywnej stereowizji
- praca polega
na zastosowaniu kamery stereowizyjnej
do budowy mapy głębi otoczenia (jest do tego gotowe oprogramowanie). metoda
stereowizyjne nie sprawdza się w przypadku bardzo jednolitych obiektów (np.
ścian, jednolitego podłoża itp), ale można jej "pomóc" rzucając na obiekt jakiś
wzór świetlny, który wprowadzi pewne cechy łatwe do rozpoznania przez algorytm
stereowizyjny. Praca powinna odpowiedzieć na pytanie: jaki wzór jest najlepszy i
jak bardzo zwiększa precyzję odczytu głębi?
|