Zadání pro PV187 Detekce kruhových objektů v obraze (Pavel Matula) Úkolem je nastudovat a přednést metodu *1+ na detekci velkého množství kruhových objektů v obraze (např. koruny stromů, buňky pod mikroskopem) pomocí aktivních křivek vyššího řádu. Téma vyžaduje znalosti na úrovni kurzu PA166: Pokročilé metody zpracování digitálního obrazu [1] Horvath, P., Jermyn, I. H., Kato, Z., & Zerubia, J. (2009). A higher-order active contour model of a "gas of circles" and its application to tree crown extraction. Pattern Recognition, 42(5), 699-709 ST - A higher-order active contour model . Přehled metod pro vyhodnocování kvality segmentace (David Svoboda) Kvalita segmentačních algoritmů se vyhodnocuje různými způsoby. Jeden z nejpoužívanějších způsobů vyhodnocování kvality je výpočet čtyř základních měr (true positive, true negative, false negative a false positive), které do jisté míry zachycují, jak se výsledky segmentace liší od optimálního řešení. Tyto míry se buď použijí přímo jako kritérium kvality, nebo se na jejich základě vyhodnotí další sofistikovanější míry. Cílem této práce bude provést rešerši metod používaných k vyhodnocování kvality výstupů segmentace. Výše uvedený postup představuje jednu takovou metodu. Metoda SIFT (Scale-invariant feature transform) (Roman Stoklasa + Ulman) Student nastuduje a na konci semestru přednese/vysvětlí metodu SIFT. Je to dnes již standardní metoda pro automatické detekování tzv. význačných bodů v obrazech a jejich následné mapování na sebe mezi obrazy. Toho se běžně využívá při sledování objektů ve scéně, detekování objektů nebo určování záchytných bodů pro výpočet transformace převádějící jeden obraz na druhý. Metoda má dva základní kroky: detekce velkého množství tzv. "feature vektorů" pro každý obraz a vyhledání odpovídajících si vektorů mezi dvěma obrazy. Přednáška na konci semestru by měla klást důraz hlavně na první aspekt, tj. jak a jaké se počítají feature vektory, a následně uvést příklady používaných "matchování". Znalost angličtiny je nevyhnutelná, neboť materiály jsou výhradně v angličtině. Základní zdroje: článek "Object Recognition from Local Scale-Invariant Features" od Davida G. Lowe, 8s., 1999 a Internet. Metoda SURF (Speeded-Up Robust Features) (Roman Stoklasa) Student nastuduje a na konci semestru přednese/vysvětlí metodu SURF. Je to metoda, která se využívá pro detekování a popis tzv. význačných bodů v obrazech, přičemž tento popis je nezávislý na rotaci a zvětšení. Toho se běžně využívá při sledování objektů ve scéně, detekování objektů nebo určování záchytných bodů pro výpočet transformace převádějící jeden obraz na druhý. Přednáška na konci semestru by měla klást důraz hlavně na vysvětlení metody vyhledání a popisu význačných bodů, tj. jak a jaké se počítají feature vektory. Znalost angličtiny je nevyhnutelná, neboť materiály jsou výhradně v angličtině. Základní zdroje: článek "Speeded-Up Robust Features (SURF)" od autorů Herbert Bay, Andreas Ess, Tinne Tuytelaars a Luc Van Gool, 13s., 2008 a Internet. Elastické funkce pro hladké/plynulé deformace základních geometrických tvarů (Ulman) Student nastuduje a na konci semestru přednese/popíše funkce, které umožňují tzv. elastické deformace objektů, zejména se bude soustředit na deformace (2D) obdélníků a elips. Deformace obdélníků budou toho druhu, že výchozí obdélník bude "chytnut" za některý (jeden nebo postupně až za všechny čtyři) roh(y) a tento roh bude "vytažen" ven z obdélníku nebo naopak "zatažen/zatlačen" do obdélníku. Elipsy se budou pouze rotovat a měnit velikosti jejich hlavních os (a tím velikosti celé elipsy). Přednáška bude ideálně zakončena návody, jak vypočítat pro každý bod výchozího obdélníku či elipsy jeho novou pozici v transformovaném obraze. Znalost angličtiny je velmi vhodná, neboť materiály budou pravděpodobně převážně v angličtině. Základní zdroje: kniha "Moderní počítačová grafika" autorů Žára, Beneš, Sochor a Felkel, 2005, ISBN 80-251-0454-0. Dále přednáškové materiály doc. Sochora, předměty PB009 a PA010, také Internet. Práci lze následně rozšířit na Bakalářskou práci. V tom případě bude student muset ještě vše implementovat a zabalit do jednoduchého GUI programu. Ten umožní jednoduše zadat výchozí čtverec nebo elipsu, vykreslí ji a umožní jednoduše naznačit novou pozici rohů nebo hlavních os, následně obraz transformuje a vykreslí výsledek; následně program umožní změnit některé parametry a vše znovu přepočítá a vykreslí; program bude mít tlačítko na vytištění (nebo uložení do souboru) parametrů/koeficientů tak, aby provedená transformace byla přesně reprodukovatelná. Technické řešení (programovací jazyk, platforma, OS) jsou "omezeny" pouze na běžně dostupné "technologie" (např. C# + .NET, C++ + wxWidgets, cokoliv + Tcl/Tk, apod.), řešení musí být (snadno) proveditelné ve Windows i na Linuxech. ---------- Huovi univerzální popisovače obrázků (Ulman + Tomáš Majtner) Student nastuduje a na konci semestru přednese/popíše funkce, které umožňují popis obsahu obrazu nezávisle na posunutí, rotaci a zvětšení toho obsahu. Jinými slovy, dva různě zvětšené a rotované obrazy stejné scény by měly vést na stejný výsledek těchto funkcí. Tyto funkce, často také označovány jako tzv. obrazové momenty, se používají například při rozpoznávání obsahu obrazu (je na obrazu vidět auto nebo je to kůň?). Znalost angličtiny je nevyhnutelná, neboť materiály jsou výhradně v angličtině. Základní zdroje: článek "Visual Pattern Recognition by Moment Invariants" od M.K. Hu, 9s., 1962, kniha "Moments and Moment Invariants in Pattern Recognition" autorů Flusser, Suk a Zitová, 2009, ISBN 978-0-470-69987-4, také Internet. ---------- princip techniky Relaxation labeling (Ulman) Student nastuduje a na konci semestru přednese/vysvětlí princip techniky "Relaxation labelling". Je to technika, která dané množině nalezených objektů přiřazuje značky z další dané množiny, značky se přiřazují na základě další množiny pravidel a omezení. Budeme-li uvažovat sekvenci obrazů, ve které se podaří přiřazovat stejné značky stejným objektům, můžeme této informace využít ke sledování ("trackování") zvolených objektů. Znalost angličtiny je nevyhnutelná, neboť materiály jsou výhradně v angličtině. Téma je poněkud náročnější. Základní zdroje: článek "On the Foundations of Relaxation Labeling Processes" od R. A. Hummel a S. W. Zucker, 21s, 1983 a Internet. ---------- Houghova přímková transformace (Karel Štěpka) Nastudovat a na semináři přednést článek C. Galambos, J. Kittler, J. Matas: Progressive Probabilistic Hough Transform for Line Detection (http://www.computer.org/portal/web/csdl/doi/10.1109/CVPR.1999.786993). Článek se zabývá úpravou Houghovy přímkové transformace tak, aby bylo možné provádět detekci čar efektivněji než použitím standardní verze. (Varianta algoritmu je součástí knihovny OpenCV.) Zadání pro PV163 Implementace Watershed pluginu do aplikace Acquiarium (Ondřej Daněk) Student implementuje grafické rozhraní pro Watershed algoritmus dostupný v i3d knihovně, tak aby bylo možné tento algoritmus používat při dávkovém zpracování (segmentaci) 2D a 3D obrazových dat v aplikaci Acquiarium. Předpokládá se znalost programování v C++, výhodou je znalost i3d knihovny a grafické knihovny wxWidgets. Implementace algoritmů na odstranění nerovnoměrného osvětlení (Ondřej Daněk) do knihovny i3d a zapojení do aplikace Acquiarium - student implementuje vybrané metody (B-spline, homomorfní filtrování) pro korekci nerovnoměrného osvětlení, tak aby bylo možné tyto metody používat při dávkovém zpracování 2D a 3D obrazových dat v aplikaci Acquiarium. Předpokládá se znalost programování v C++, výhodou je znalost i3d knihovny a grafické knihovny wxWidgets. Optimalizácia JPEG2000 v balíčku LIBICS (Majtner) Študent sa najprv zoznámi s balíčkom LIBICS (http://libics.sourceforge.net/), ktorý sa používa pre ukladače biomedicínskych obrazových dát. Zameria sa na kompresiu JPEG2000, ktorej podpora bola naimplementovaná v rámci skupiny CBIA. Kompresia pracuje tak, že pri detekcii 3D obrázku sa jednotlivé 2D rezy komprimujú zvlášť. Úlohou študenta bude optimalizácia tohto prístupu, aby sa kompresný mechanizmus nemusel spúšťať viackrát, ale pracoval s 3D obrázkom ako celkom. Predpoklady: Znalosť programovania v jazyku C Literatura: P. Dean, L. Mascio, D. Ow, D. Sudar, J. Mullikin, "Proposed standard for image cytometry data files", Cytometry, n.11, pp.561-569, 1990. Zadání pro bak. práci (viz. IS) Měření srdečního rytmu analýzou videozáznamu (Pavel Matula) Úkolem studenta je vytvořit jednoduchou aplikaci, která bude schopna určit rytmus srdce analýzou videozáznamu pohybující se srdeční tkáně. Vstupem je videozáznam pořízený fotoaparátem. Výstupem by měl být graf pohybu srdeční tkáně a frekvence srdečního rytmu. Zadavatelem projektu je přírodovědecká fakulta MU. Výsledná aplikace by měla sloužit pro výukové účely. Vhodné jsou znalosti na úrovni základního kurzu PV131: Digitální zpracování obrazu. Zapojení graph-cutů do Acquiaria (Ondřej Daněk) (Chan-Vese segmentace + interaktivní segmentace) Vyuzitie 3D Zernikeho momentov pre popisovanie textur biomedicinskych obrazovych dat (Majtner) Predbezne zadanie: Student sa najskor oboznami s problematikami momentov a Zernikeho polynomov. Podrobny prehlad roznych typov momentov ako aj detailny popis vlastnosti Zernikeho polynomov budu zhrnute v teoretickej casti prace. V praktickej casti bude ulohou studenta rozsirenie kniznice vyvijanej v Centre analyzy biomedicinskeho obrazu (CBIA) o pracu s 3D Zernikeho momentami. Poziadavky: Od studenta sa pozaduje, aby vedel porozumiet odbornemu anglickemu textu, aby mal skusenosti s programovanim v C++ (aspon na urovni predmetu PB161) a dobre znalosti matematiky (schopnost pracovat s komplexnymi cislami). Literatura: Michael Reed Teague, "Image analysis via the general theory of moments*," J. Opt. Soc. Am. 70, 920-930 (1980) Canterakis, N. 3D Zernike moments and Zernike affine invariants for 3D image analysis and recognition. 11th, Scand. Conf. Image Anal. 1999. Novotni, M., and Klein, R. Shape retrieval using 3D Zernike descriptors. Computer-Aided Design 36, 1047-1062. 2004 Uživatelské rozhraní pro aplikaci na počítání buněk (Karel Štěpka) Vytvoření uživatelského rozhraní pro aplikaci na počítání buněk v mikroskopických fotografiích. Student dostane k dispozici zdrojové kódy samotné aplikace (detekčního algoritmu). Pro aplikaci vytvoří GUI, které uživateli umožní nastavovat jednotlivé parametry detekce, detekci spouštět, interaktivně prohlížet výsledky a ručně je upravovat. Dále student implementuje správu projektů (skupin fotografií pro detekci) a export výsledků. Výsledná aplikace bude buď multiplatformní, nebo pro systém MS Windows. Předpokládá se znalost C++ a schopnost pracovat s cizím kódem. Doporučená knihovna pro tvorbu rozhraní je wxWidgets, předchozí znalost je výhodou. Implementace některých pasáží počítání optického toku na GPU (Ulman +Karas) Student se seznámí s konkrétním algoritmem počítání optického toku. Vybrané pasáže algoritmu následně paralelizuje s využitím programovacího modelu CUDA. Předpokladem zápisu je znalost programování v C/C++ a alespoň základní znalost programovacího modelu CUDA. Kurz PV131 výhodou. GUI pro jednoduché ovládání generátoru obrazových sekvencí (Ulman) Cílem práce je vytvořit GUI aplikaci, která bude ovládat zadaný řádkově orientovaný program. Konkrétně se jedná o generátor obrazových sekvencí (video), ve kterých je zachycen simulovaný pohyb buněk včetně lokálních dodatečných pohybů vnitřních buněčných struktur. Ovládání programu je realizováno, kromě několika číselných parametrů, zejména pomocí obrázků. GUI má především usnadnit přípravu těchto pomocných obrázků. V teoretické části práce student rozepíše princip ovládání generátoru, dále popíše představu o principu ovládání generátoru pomocí GUI. Na základě toho zformuluje klíčové požadavky na vyvíjenou aplikaci. V praktické části student implementuje aplikaci. V textu práce bude ukázka/demonstrace splnění vybraných klíčových požadavků. Technické řešení (programovací jazyk, platforma, OS) jsou "omezeny" pouze na běžně dostupné "technologie" (např. C# + .NET, C++ + wxWidgets, cokoliv + Tcl/Tk, apod.), řešení musí být (snadno) proveditelné ve Windows i na Linuxech. Diplomová práce (viz. IS) Automatické skládání velkých obrazů (Ulman) Rozsáhlé obrazy tkání o vysokém rozlišení pomocí mikroskopu nelze pořídit v jednom záběru. Postupuje se tak, že se snímá série velkého počtu menších obrazů, které se dodatečně "sešijí" v celek. Tato práce navazuje na již existující skládací algoritmus a dále ho rozvíjí ve smyslu zvýšení robustnosti, zlepšení přesnosti, spolehlivější detekce prázdných nebo nepovedených políček/obrazů. Součástí práce je také analýza existujících problémů a jejich náprava. V teoretické části práce student nejprve popíše vlastnosti snímacího systému, popíše principy stávajícího řešení a naváže na ně. V praktické části práce implementuje skládací program v C++. Testovací data i některé klíčové rutiny programu dostane student k dispozici. Očekávají se pravidelné konzultace s vedoucím práce a zkušenost s programováním v C++. SIFT pro 3D biomedicínské trackování (Ulman) Student nastuduje a implementuje algoritmus SIFT (Scale Invariant Feature Transform), který se také používá pro sledování objektů v sérii 2D obrazů. Algoritmus nejprve rozšíří pro série 3D obrazů a následně, konzultujíc s vedoucím práce, se pokusí tento algoritmus zlepšit pro série 3D biomedicínských obrazů. V teoretické části práce student provede stručný popis SIFT algoritmu a provedených rozšíření. V praktické části implementuje SIFT algoritmus včetně rozšířeních pomocí C++ a vše zapojí do knihoven vyvíjených v CBIA. Nad testovací množinou dat porovná výstupy algoritmů, testovací data dodá vedoucí práce. Automatické zarovnávání velkých obrazů řezů tkání (Ulman) Na histologickém oddělení FN Bohunice v Brně snímají mikroskopem tkáně. Tkáň je nařezaná na tenké plátky, ty jsou poté nasnímány do počítače. Pro každý řez vznikne jeden velký obraz. Problém je, že každý řez je nasnímán v jiné pozici (posunutí, otočení, atp.). Cílem práce je korigovat snímky tak, aby byly zobrazeny stejně (na stejném místě, stejně natočené, atp.). Vedoucí dodá vhodné podklady pro studium a prvotní návrh řešení. V teoretické části práce student popíše úlohu a její parametry (charakter obrazů, transformace, omezující problémy a požadavky), popíše uvažovaná řešení a pokusí se vyzdvihnout jejich výhody a nevýhody. V praktické části implementuje program, v C++, na automatické zarovnání zadaných obrazů k danému referenčnímu obrazu. Testovací data dostane student k dispozici. Očekávají se pravidelné konzultace s vedoucím práce a zkušenost s programováním v C++. Naprogramování metody autorů Fleet a Jepson pro počítání optického toku (Ulman) Optický tok je nástroj, který pomocí tzv. vektorového pole popisuje pohyb v obraze. Vektorové pole pro dva obrazy (například dva po sobě následující snímky videa) přiřazuje vektor ke každému pixelu z prvního obrazu, vektor "ukazuje" na pozici tohoto pixelu v druhém obraze. Metoda Fleet a Jepson je jedna z možností jak vypočítat takové vektorové pole. Student nastuduje a naprogramuje metodu podle zadané literatury. Při implementaci student využije některé funkce z knihovny Optického toku, do této knihovny také vloží vytvořenou implementaci. Metodu se také pokusí vyhodnotit na zadaných testovacích datech. Literaturu, knihovnu Optického toku a testovací data dodá vedoucí práce. V teoretické části textu práce student především popíše metodu. V praktické části potom stručně implementaci (charakter dokumentace) a provede diskuzi k praktickým testům. Očekávají se pravidelné konzultace s vedoucím práce a zkušenost s programováním v C++.