Projekt z digitálního zpracování obrazu PV162 Fakulta informatiky Masarykova univerzita Brno PV162 Projekt z digitálního zpracování obrazu podzim 2021 Projekt z digitálního zpracování obrazu PV162 Požadavky k získání kolokvia • Vykonání práce dle oficiálního zadání pod vedením uvedeného vedoucího • Přihlášení k tématu v rozpisech v ISu do 30.9. • Nutné průběžné konzultace • Prezentace výsledků práce typicky v posledním týdnu semestru, tj. před začátkem zkouškového období • Dopracování připomínek vzešlých z diskuse po prezentaci a odevzdání práce vedoucímu Projekt z digitálního zpracování obrazu PV162 Přehled témat • Zadání je uvedeno v ISu a bude upřesněno vedoucím, zde jsou naznačeny jen hlavní body • Zadání jsou v principu tří typů • Programátorská • Implementace zadaného algoritmu podle odborné literatury • Tvořivá • Hledání vhodného postupu pro řešení daného problému • Studie • Srovnání chování algoritmů na zadaných datech Projekt z digitálního zpracování obrazu PV162 CTC – Cell Tracking Challenge • Mezinárodní projekt řešený na FI MU • http://celltrackingchallenge.net/ • Porovnávání algoritmů pro segmentaci a sledování pohybu buněk ve videu Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Segmentace buněk v časoprostoru nad CTC daty Cílem je vzít jako vstup obrazový záznam buněk v časoprostoru (2D+t, pro troufalé i 3D+t) a vyzkoušet vybrané metody segmentace (pro odvážné i ML) nikoliv po framech (obvyklý způsob), ale jako celek (časová osa chápána jako další prostorová). Buňky se mohou v čase dělit a vzniká stromový útvar. Kvalita výstupů segmentace bude změřena standardními metrikami z CTC a srovnána s jinými metodami v CTC. Michal Kozubek Libovolný Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Opravy segmentací buněk v časoprostoru pro CTC Cílem je vzít jako vstup existující výsledek segmentace buněk v časoprostoru (2D+t, pro troufalé i 3D+t) + originál pro určitou metodu pracující po framech bez časového kontextu a opravit ji podél časové osy (vyhladit zubatost či zaplnit časové díry). Buňky se mohou v čase dělit a vzniká stromový útvar. V rámci CTC tak vzniknou lepší výstupy a z nich lepší referenční výsledek (tzv. silver truth). Michal Kozubek Libovolný Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Vytvoření fuzzy referenčních segmentací pro CTC Cílem je vzít jako vstup existující výsledky segmentací více kvalitních metod nad trénovacími daty benchmarku Cell Tracking Challenge a z nich vytvořit jednu výslednou referenční fuzzy segmentaci (pravděpodobnostní pro každý pixel, ne binární). Lze využít i existující detekční značky buněk (vyrobené ručně pro účely trackingu v čase) a rozšířit je na plnou masku pro danou buňku s tím, že maska nebude binární, ale celočíselná (jistota 0-100%). Ve sporných oblastech může pixel patřit i více maskám (např. 30% / 70%). Jde o přípravu na benchmarking fuzzy výstupů metod strojového učení vůči fuzzy referenční segmentaci buněk. v rámci soutěže Cell Tracking Challenge Michal Kozubek Libovolný Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Studie měr/metrik na vyhodnocení fuzzy segmentací Cílem je prostudovat a naprogramovat míry/metriky vhodné na kvantitativní vyhodnocení úspěšnosti segmentace pro fuzzy případy (tedy kdy správná segmentace a/nebo algoritmem nalezená segmentace je pravděpodobnostní pro každý pixel, ne binární). Kromě publikovaných měr/metrik lze samozřejmě kreativně vymyslet další. Jde o přípravu na benchmarking fuzzy výstupů metod strojového učení vůči fuzzy referenční segmentaci buněk v rámci soutěže Cell Tracking Challenge. Michal Kozubek Libovolný Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Automatizace zpracování obrazů rakoviny z FNUSA Cílem je pomoci lékařům-patologům z FNUSA a biologům z PřF MU automatizovat analýzu mikroskopických obrazů tkáně tlustého střeva s rakovinnými útvary. Testují se účinky různých léčiv sledováním podílu umírajících (nekrotických) rakovinných buněk a přežívajících (viabilních). Jde o propojení vstupů/výstupů několika různých softwarových balíků. Michal Kozubek Libovolný Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Detekce a kvantifikace větvení organoidů Cílem projektu je navrhnout, implementovat a kvantitativně vyhodnotit algoritmus na detekci a kvantifikaci větvení organoidů v dvourozměrných časosběrných obrazových datech pořízených optickým mikroskopem. Tento kreativní projekt bude řešen v rámci probíhající výzkumné spolupráce s Lékařskou fakultou Masarykovy univerzity a lze jej v případě zájmu rozšířit na závěrečnou práci. Martin Maška Bez omezení Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Segmentace a kvantifikace shluků buněk ve vícekanálových obrazových datech Cílem projektu je navrhnout, implementovat a kvantitativně vyhodnotit algoritmus na segmentaci a kvantifikaci shluků buněk ve dvojrozměrných vícekanálových obrazových datech pořízených fluorescenčním mikroskopem. Tento kreativní projekt bude řešen v rámci probíhající výzkumné spolupráce s Lékařskou fakultou Masarykovy univerzity a lze jej v případě zájmu rozšířit na závěrečnou práci. Martin Maška Bez omezení Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Srovnání metod na segmentaci shluků buněk s membránovým značením Cílem projektu je seznámit se s existujícími nástroji LimeSeg a PlantSeg na segmentaci shluků buněk s membránovým značením a kvantitativně vyhodnotit jejich chování na dodaných trojrozměrných obrazových datech pořízených fluorescenčním mikroskopem. Martin Maška Srovnávací studie bez programování Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Vliv PixelTCL na kvalitu segmentace Cílem projektu je vyzkoušet Pixel Transposed Convolutional Layers a udělat studii vlivu jejich použití na kvalitu segmentace obrazu. Viz také: https://github.com/divelab/PixelTCN Petr Matula Python Vstup Chtěný výsledek Segmentace bez PixelTCL Segmentace s PixelTCL Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Statistika projíždějících vozidel Cílem projektu je vytvořit nástroj pro automatickou analýzu videa, který by umožňoval výpočet různých statistik projíždějících vozidel (např. typ vozidla, barva vozidla, apod.) Petr Matula Libovolný Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Analýza pohybu hlavy přednášejícího Cílem projektu je nad daty od kolegů z Pedagogického ústavu FF získat informaci o pohybu hlavy přednášejícího na základě videa z GoPro kamery, kterou má na hlavě. Petr Matula Libovolný Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Segmentace křivolakých struktur v obraze Cílem projektu je naprogramovat a vyzkoušet metodu pro hledání křivolakých struktur, která byla nedávno publikována v mezinárodním časopise PAMI [1]. [1] Mosinska, Agata, Mateusz Koziński, and Pascal Fua. 2020. “Joint Segmentation and Path Classification of Curvilinear Structures.” IEEE Transactions on Pattern Analysis and Machine Intelligence 42 (6): 1515–21. https://doi.org/10.1109/TPAMI.2019.2921327. Petr Matula Libovolný Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Semiautomatická segmentace 3D dat Cílem projektu je prozkoumat různé přístupy pro semiautomatickou segmentaci volumetrických dat a popsat jejich výhody a nevýhody s ohledem na použití v rámci CTC. Petr Matula Není programování, ale srovnávací studie Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Detekce pohybu s využitím průmyslové kamery Cílem projektu je vyhodnotit úspěšnost vybraných algoritmů pro sledování pohybu kamerami. To obnáší nastudovat, které metody se v současnosti používají, vybrat několik z nich a ty následně otestovat na vhodných datech. Pavel Matula Není omezeno Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Dokreslování obrazu Cílem projektu je naprogramovat základní metody dokreslování obrazu do aplikace používané v kurzu PA166. Konkrétní metody budou vybrány podle schopností studenta na základě diskuse s vedoucím práce. Pavel Matula C++, aplikace kurzu PA166 Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Detekce čáry ofsajdu Cílem projektu je vytvořit a vyhodnotit algoritmus pro detekci čar na hřišti a určení matice perspektivní projekce, tak aby bylo možné snadno vykreslit hranici ofsajdu do původního záznamu. Pavel Matula (spolupráce Pavel Kohoutek, Daite, s.r.o.) C++ Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Virtuální obsah pro LED obrazovky Hlavním cílem projektu je vytvořit algoritmus, který umožní přesné nalezení zobrazovací plochy v obraze (LED obrazovka) s předem známým vzorem, který bude možné nahradit jiným obsahem (obrázek, video) a vložit jej do snímku z kamery na místo detekovaných zobrazovacích ploch. Pavel Matula (spolupráce Pavel Kohoutek, Daite, s.r.o.) C++ Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Detekce rozostření obrazu Cílem projektu je otestovat různé metody pro detekci rozostření v obraze, resp. výpočet míry rozostření na konkrétních datech a vybrat nejvhodnější metodu pro zadaná data. Pavel Matula (spolupráce SANEZOO) C++ Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Zvýšení rozlišení obrazu využitím posunutých snímků Cílem projektu je vytvořit algoritmus pro spojení sady vzájemně posunutých snímků kvůli vibraci kamery (zhruba 6-8 pixelů) a získání obrazu s vyšším rozlišením. V navazující práci (např. BP/DP), lze využít i informace ze senzorů jako je akcelerometr a gyroskop. Pavel Matula (spolupráce SANEZOO) C++ nebo Python Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Quick auto focus/stigmation algorithm V zařízení SEM (skenovací elektronový mikroskop) se ovládá ostrost obrazu pomocí běžného řízení zaostření. V důsledku optických vad ale vzniká též astigmatismus, tj. směrová neostrost. Směrová neostrost se koriguje ve dvou na sebe kolmých směrech. Zaostření a astigmatismus se navzájem ovlivňují, proto je třeba tyto parametry nastavovat společně. Cílem úlohy je, najít vhodná kritéria ostrosti a astigmatismu, a pokusit se najít algoritmus rychlé a spolehlivé konvergence k optimálnímu nastavení. Rychlost je v praxi velmi důležitá. Experiment bude realizován na obsáhlých datech v offline podobě. K řešení je možné použít jak konvenčních metod, tak metod strojového učení. Pavel Matula (spolupráce Tescan) Libovolný Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Real-time redukce šumu detektoru na základě obrazu z více detektorů V zařízení SEM (skenovací elektronový mikroskop) je možné paralelně snímat řadu obrazových signálů, které do určité míry korelují (sekundární elektrony, zpětně odražené elektrony, …). Při souběžném snímání může být některý signál kvalitní více, některý méně. Cílem úlohy je využít/vylepšit kvalitu vybraného obrazového signálu pomocí ostatních dostupných signálů. Zejména se jedná o redukci šumu, při zachování ostrého obrazu. Pavel Matula (spolupráce Tescan) Libovolný Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Řešitel projektu si vybere minimálně jednu metodu ztrátové komprese založené na strojovém učení, tu naimplementuje a výsledky porovná vůči metodě jpeg. Výpočetní zdroje zajistí vedoucí projektu. Dle volby řešitele [1] 'Lossy Image Compression with Compressive Autoencoders' by Theis et. al, https://arxiv.org/abs/1703.00395 [2] 'End-to-end Optimized Image Compression' by Ballé et. al, https://arxiv.org/abs/1611.01704 [3] 'Variational image compression with a scale hyperprior' by Ballé et. al, https://arxiv.org/abs/1802.01436 Obrazová komprese s podporou metod strojového učení David Svoboda Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Řešitel projektu implementuje vybranou metodu [1], která umožňuje efektivně zvyšovat rozlišení 3D obrazových dat. Metodu porovná vůči naivním interpolačním metodám. Obrazová data i výpočetní zdroje zajistí vedoucí projektu. David Svoboda Dle volby řešitele [1] C. Zhao, B. E. Dewey, D. L. Pham, P. A. Calabresi, D. S. Reich and J. L. Prince, "SMORE: A Self-Supervised AntiAliasing and Super-Resolution Algorithm for MRI Using Deep Learning," in IEEE Transactions on Medical Imaging, vol. 40, no. 3, pp. 805-817, March 2021, doi: 10.1109/TMI.2020.3037187. Zvyšování rozlišení s podporou metod strojového učení Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Cílem je vytvoření knihovny, která pro daný multidimenzionální obrázek vypočítá sadu deskriptorů. Je potřeba ověřit zda platí, že lze nalézt podskupinu deskriptorů, které jsou si podobné pro konkrétní typ buněk. Uvažujeme deskriptory textur, segmentačních masek a/nebo temporální (popisují vývoj masky v čase). Vstupem mohou být 2D,3D,2D+t či 3D+t obrazy buněk a jejich segmentací. Výstupem budou vektory čísel, jeden pro každou buňku ve vstupu. Zadání je vhodné i pro (malou) skupinu spolupracujících studentů. Knihovna pro výpočet různých typů deskriptorů Michal Kozubek, Vladimír Ulman Bez omezení Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Cílem je naprogramování (a ověření) algoritmu na základě odborného článku. Ke článku (údajně) existuje referenční řešení v knihovně OpenCV. Algoritmus řeší rozdělení "slepené" segmentace sousedících či se překrývajících buněk pomocí napasování elips. Kurážný řešitel se pokusí nalézt řešení pro 3D data. Algoritmus by se měl následně používat jako post-processingový krok automatické segmentační metody. Segmentace masek eliptických objektů Vladimír Ulman Ideálně Java (a imglib2 pro reprezentaci obrazu) Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Cílem je naprogramovat (rozumně rychlý) algoritmus pro nalezení a vypočítání vzdálenosti N nejbližších segmentačních masek k zadané masce pomocí mapy vzdáleností. V projektu se vyzkouší různé algoritmy pro výpočet mapy vzdáleností a porovnají se na přesnost a rychlost výpočtu. Vstupem je 3D obrázek masek, ID masky a N. Výstupem je N párů (ID_blízké_masky, vzdálenost_k_ní). Efektivní výpočet vzdáleností Vladimír Ulman Bez omezení Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Cílem je vytvořit (rozumně rychlý) program, který bude segmentovat celé embryo jako jeden velký celek v 3D obraze. Tím se například umožní redukovat velikost obrazu, lepší vizualizace embrya, nebo kartografie embrya. Obraz je zašuměný. Embryo je výrazné pouze na svém okraji, vnitřek má většinou "slabý" signál. Embrya jsou různě velká, vstupní obraz má velikost 2-6 GB. Projekt by se měl zaměřit na využití multi-scale přístupu a měl by ověřit přesnost nalezeného řešení (vůči ground-truth). Segmentace embrya v 3D datech Vladimír Ulman Bez omezení Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Detekce pohledu Cílem bude vytvořit knihovnu, která bude kamerou zjišťovat, jestli (nebo s jakou pravděpodobností) se uživatel právě dívá na obrazovku. Součástí bude jednoduchá předváděcí aplikace zobrazující scénu, která se bude „tajně“ měnit v okamžicích, kdy se uživatel nebude dívat. Karel Štěpka libovolné Projekt z digitálního zpracování obrazu PV162 Kontakt: Možné programovací jazyky: Zjištění měřítka Úkolem bude napsat program, který z fotografie s proužkem měřítka nebo reálným pravítkem (kolmo shora) odvodí měřítko fotografie (pixely na cm) Karel Štěpka libovolné „1 cm = 375 pix“ „1 cm = 73 pix“