[[https://fel.cvut.cz/cz/education/rozvrhy-ng.B221/public/html/predmety/46/84/p4684106.html|Rozvrh B4M33DZO]] [[https://cw.felk.cvut.cz/upload/|Odevzdávací systém pro studentské úlohy]] [[https://cw.felk.cvut.cz/forum/forum-1801.html|Diskusní fórum]] ====== B4M33DZO - Digitální obraz ====== ===== Cíl předmětu ===== Předmět srozumitelným způsobem představuje základní metody digitálního zpracování obrazu. Výklad je zaměřen zejména na postupy, které mají zajímavý teoretický základ, ale současně vynikají jednoduchostí implementace. Zdánlivě abstraktní pojmy z matematické analýzy, teorie pravděpodobnosti či optimalizace zde ožívají formou vizuálně poutavých aplikací. Předmět se zaměřuje jak na základní principy (vzorkování a rekonstrukce signálu, monadické operace, histogram, Fourierova transformace, konvoluce, lineární a nelineární filtrace), tak i na pokročilejší techniky editace, deformace, registrace a segmentace obrazu. V průběhu semestru je látka procvičena formou šesti implementačních úloh, díky kterým si posluchači osvojí teoretické znalosti z přednášek a využijí je k řešení praktických problémů. ===== Prerekvizity ===== Předpokládá se, že studenti předmětu znají matematickou analýzu, lineární algebru, pravděpodobnost a statistiku v rozsahu vyučovaném na ČVUT FEL. Očekává se také základní programovací dovednost, a to především v [[https://www.mathworks.com/products/matlab.html|MATLABu]]. ===== Přednášky ===== Přednášející: **[[https://dcgi.fel.cvut.cz/~sykorad/|prof. Ing. Daniel Sýkora, Ph.D.]]** (ČVUT FEL, Katedra počítačové grafiky a interakce, místnost: KN:E-422) Místo a čas: **Středa 9:15-10:45**, posluchárna **KN:E-301** Rozsah: **2 hodiny** týdně ^ Týden ^ Datum ^ Obsah ^ Výukové materiály ^ | 1. | 21.09.2022 | **Monadické operace** - obraz a jeho histogram, změna jasu a kontrastu, prahování, negativ, kvantizace, gama korekce, ekvalizace a mapování histogramu | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l01.pdf|slides]] / [[https://youtu.be/7E83-R6Hcak|video]] | | 2. | 28.09.2022 | //Bez přednášky (státní svátek)// | | | 3. | 05.10.2022 | **Fourierova transformace** - základní princip Fourierovy transformace v 1D a 2D, bázové funkce, časová a frekvenční oblast, význam amplitudy a fáze, diskrétní Fourierova transformace, rychlá Fourierova transformace, vzorkovací teorém | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l02.pdf|slides]] / [[https://youtu.be/SAlWMzuDxI0|video]] | | 4. | 12.10.2022 | **Konvoluce** - základní princip konvoluce v 1D a 2D, zrychlení výpočtu s využitím separabilních jader, mip-mappingu, integrálního obrazu a Fourierovy transformace | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l03.pdf|slides]] / [[https://youtu.be/p38h4QIXwrc|video]] ([[http://dl.acm.org/ft_gateway.cfm?id=15921&type=pdf&CFID=85229293&CFTOKEN=92024084|1]], [[http://onlinelibrary.wiley.com/doi/10.1111/j.1467-8659.2005.00880.x/pdf|2]]) | | 5. | 18.10.2022 | **Lineární filtrace** - aplikace 1D a 2D konvoluce: potlačení šumu, detekce hran, rozostření, ostření, Wienerova filtrace, anti-aliasing, hloubka ostrosti, rozmazání pohybem, rozptyl světla, lesklé odrazy, měkké stíny, hybridní obraz | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l04.pdf|slides]] / [[https://youtu.be/MqJlvsSZl2w|video]] ([[http://olivalab.mit.edu/abstracts/acm_transactions_graphics.html|1]]) | | 6. | 26.10.2022 | //Bez přednášky (ECCV 2022)// | | | 7. | 02.11.2022 | **Nelineární filtrace** - bilaterální filtr a jeho vlastnosti, zrychlení výpočtu s využitím obdélníkových jader, po částech lineární aproximace a bilaterální mřížky, aplikace: potlačení šumu při zachování ostrých hran, digitální líčení, abstrakce, mapování tónů pro obrazy s vysokým dynamickým rozsahem, modifikace vzhledu, fúze detailů, simulace vysokého dynamického rozsahu, změna materiálu/textury, odstranění odlesků, potlačení šumu s využitím blesku, zaostření hloubkové mapy | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l05.pdf|slides]] / [[https://youtu.be/-0lP30fzSfs|video]] ([[http://www.shellandslate.com/fastmedian.html|1]],[[http://www.csbio.unc.edu/mcmillan/pubs/sig05_bennett.pdf|2]], [[http://groups.csail.mit.edu/graphics/bilagrid/|3]], [[https://dl.acm.org/doi/abs/10.1145/1141911.1142018|4]], [[http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html|5]], [[http://johanneskopf.de/publications/jbu|6]], [[http://people.csail.mit.edu/fredo/PUBLI/flash/index.htm|7]], [[http://people.csail.mit.edu/fredo/PUBLI/Siggraph2002/|8]], [[http://research.microsoft.com/en-us/um/redmond/projects/flashnoflash|9]]) | | 8. | 09.11.2022 | **Editace obrazu** - lineární a multi-pásmové sešívání obrazu, Laplaceova pyramida, editace v gradientní oblasti a její aplikace: sešívání, klonování, vyhlazování, fúze, zvýraznění kontextu, konverze barevného obrázku do odstínů šedi, difuzní křivky | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l06.pdf|slides]] / [[https://youtu.be/Gjl8A_4JtBI|video]] ([[http://persci.mit.edu/pub_pdfs/spline83.pdf|1]], [[https://www.cs.jhu.edu/~misha/Fall07/Papers/Perez03.pdf|2]], [[http://graphics.cs.cmu.edu/projects/gradient-paint/|3]]) | | 9. | 16.11.2022 | **Deformace obrazu** - posuv, rotace, změna měřítka, zkosení, afinní a projektivní transformace, zpětné mapování, bilineární převzorkování, pohybující se nejmenší čtverce, zachování tuhosti a podobnosti, provázaná tuhá a podobná tělesa | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l07.pdf|slides]] / [[https://youtu.be/olaNN6OiJMk|video]] ([[http://faculty.cs.tamu.edu/schaefer/research/mls.pdf|1]]) | | 10. | 23.11.2022 | **Registrace obrazu 1** - metriky pro měření podobnosti obrazů, odhad posuvu, block-matching a jeho výpočetně méně náročné varianty: předčasné ukončení, hierarchický sestup, strategie vítěz-bere-první, fázová korelace, gradientní sestup, syntéza textur, vyplňování děr | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l08.pdf|slides]] / [[https://youtu.be/hRj0WC40sqE|video]] ([[http://www.ri.cmu.edu/pub_files/pub3/lucas_bruce_d_1981_2/lucas_bruce_d_1981_2.pdf|1]], [[http://www.ri.cmu.edu/pub_files/pub3/baker_simon_2004_1/baker_simon_2004_1.pdf|2]], [[https://people.cs.nctu.edu.tw/~yschen/papers/TIP01-winup.pdf|3]]) | | 11. | 30.11.2022 | **Registrace obrazu 2** - odhad rotace a změny měřítka, log-polární a Fourier-Mellin transformace, zobecněný gradientní sestup (afinní a projektivní transformace), registrace pomocí provázaných tuhých a podobných těles | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l09.pdf|slides]] / [[https://youtu.be/hRj0WC40sqE|video]] ([[https://ieeexplore.ieee.org/document/506761|1]], [[http://dcgi.felk.cvut.cz/home/sykorad/deform.html|2]], [[http://dcgi.felk.cvut.cz/home/sykorad/textoons.html|3]], [[http://graphics.cs.cmu.edu/people/efros/research/EfrosLeung.html|4]]) | | 12. | 07.12.2022 | **Segmentace obrazu 1** - metody interaktivní segmentace obrazu, formulace problému a jeho řešení pomocí maximalizace toku v síti, soustavy lineárních rovnic a výpočtu nejkratší cesty v grafu | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l11.pdf|slides]] / [[https://youtu.be/WAFCRMqyEeM|video]] ([[http://vision.cse.psu.edu/people/chenpingY/paper/grady2006random.pdf|1]], [[http://www.csd.uwo.ca/~yuri/Papers/ijcv06.pdf|2]]) | | 13. | 14.12.2022 | **Segmentace obrazu 2** - základní vlastnosti algoritmů interaktivní segmentace obrazu, modifikace a rozšíření optimalizačních kritérií: barevný model, nepřesná specifikace pozadí a popředí, více segmentů, kolorizace, aplikace: odhad alfa-kanálu, přebarvení, interaktivní mapování tónů, vybarvování ručních kreseb | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l12.pdf|slides]] / [[https://youtu.be/lS01Hu_AVgo|video]] ([[http://dcgi.felk.cvut.cz/home/sykorad/lazybrush.html|1]], [[http://grail.cs.washington.edu/projects/photomontage/|2]], [[http://www.cs.huji.ac.il/~yweiss/Colorization/|3]]) | | 14. | 11.01.2022 | **Kdy stroje nahradí výtvarníky?** | | ===== Cvičení ===== Cvičící: * [[https://cmp.felk.cvut.cz/~cechj/|Ing. Jan Čech, Ph.D.]] (ČVUT FEL, Katedra kybernetiky, KN:G-2) * [[https://cmp.felk.cvut.cz/~drbohlav/|Mgr. Ondřej Drbohlav, Ph.D.]] (ČVUT FEL, Katedra kybernetiky, KN:G-2) * [[https://www.ciirc.cvut.cz/people/people-list/?uid=panekvo1|Ing. Vojtěch Pánek]], (ČVUT CIIRC, JP:B-634a) * [[https://dcgi.fel.cvut.cz/~sykorad/|prof. Ing. Daniel Sýkora, Ph.D.]] (ČVUT FEL, Katedra počítačové grafiky a interakce, KN:E-422) Místo a čas: **Úterý 14:30-19:30**, učebny **KN:E-230** a **KN:E-132** Rozsah: **2 hodiny** týdně ^ Týden ^ Datum ^ Obsah ^ Cvičící ^ | 1. | 20.09.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/0_matlab/start|Úvod do MATLABu]] | **Jan Čech**, **Ondřej Drbohlav**, **Vojtěch Pánek**, **Daniel Sýkora** | | 2. | 27.09.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/1_monadic_functions/start|Monadické operace 1]] - jas, kontrast, gama korekce, histogram, ekvalizace a mapování histogramu | **Vojtěch Pánek** | | 3. | 04.10.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/1_monadic_functions/start|Monadické operace 2]] - odevzdání 1. úlohy (10 bodů) | **Vojtěch Pánek** | | 4. | 11.10.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/3_fourier|Fourierova transformace 1]] - 2D FFT, zobrazení spektra, obrazy základních funkcí, spektrum posunutých a rotovaných obrazů, vzorkovací teorém, aliasing | **Jan Čech** | | 5. | 18.10.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/3_fourier|Fourierova transformace 2]] - odevzdání 2. úlohy (10 bodů) | **Jan Čech** | | 6. | 25.10.2022 | //Bez cvičení (ECCV 2022)// | | | 7. | 01.11.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/4_filtering|Lineární a nelineární filtrace 1]] - konvoluce, využití Fourierovy transformace, separabilní jádro, rozmazání, detekce hran, dekonvoluce, bilaterální filtr | **Vojtěch Pánek** | | 8. | 08.11.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/4_filtering|Lineární a nelineární filtrace 2]] - odevzdání 3. úlohy (10 bodů) | **Vojtěch Pánek** | | 9. | 15.11.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/5_poisson|Editace obrazu 1]] - editace v gradientní oblasti řešením Poissonovy rovnice soustavou lineárních rovnic a Fourierovou transformací, klonování obrazu, mixování gradientů | **Daniel Sýkora** | | 10. | 22.11.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/5_poisson|Editace obrazu 2]] - odevzdání 4. úlohy (10 bodů) | **Daniel Sýkora** | | 11. | 29.11.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/6_reg|Registrace obrazu 1]] - odhad posuvu, změny měřítka a otočení obrazu pomocí Fourier-Mellin transformace (fázová korelace, log-polární transformace) | **Ondřej Drbohlav** | | 12. | 06.12.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/6_reg|Registrace obrazu 2]] - odevzdání 5. úlohy (10 bodů) | **Ondřej Drbohlav** | | 13. | 13.12.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/7_segment|Segmentace obrazu 1]] - vybarvování ručních kreseb pomocí maximalizace toku v síti | **Daniel Sýkora** | | 14. | 10.01.2022 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/7_segment|Segmentace obrazu 2]] - odevzdání 6. úlohy (10 bodů) | **Daniel Sýkora** | Celkově je možné na cvičeních získat 60 bodů. Pro získání zápočtu je nutné nasbírat nejméně 30 bodů. ===== Zkouška ===== Zkouška má dvě části, **písemnou** a **ústní**. V písemné části student v průběhu **30 minut** zpracuje dvě náhodně vybrané otázky pokrývající probíranou látku: * Monadické operace (jednoduché operace s jasem, ekvalizace a mapování histogramu) * Fourierova transformace (formulace, vlastnosti, vzorkovací teorém) * Konvoluce (formulace, vlastnosti, zrychlení výpočtu, aplikace) * Zaostření obrazu (formulace, řešení pomocí Wienerovy filtrace) * Bilaterální filtr (formulace, zrychlení výpočtu, aplikace) * Editace obrazu v gradientní oblasti (formulace, řešení, aplikace) * Deformace obrazu (1, 2, 3, 4-bodová) * Deformace obrazu (N-bodová, základní formulace, rozšíření) * Registrace obrazu (translace, metody řešení) * Registrace obrazu (translace, rotace a změna měřítka s pomocí Fourier-Mellin) * Registrace obrazu (N-bodová) * Segmentace obrazu (formulace, řešení pomocí maximálního toku v síti, aplikace) * Segmentace obrazu (formulace, řešení pomocí metody náhodného chodce, aplikace) Následuje ústní zkouška, na které zkoušející společně se studentem projde písemnou přípravu a pokládá doplňující dotazy. Jejich cílem je zjistit, do jaké míry student látce rozumí. Není rozhodující encyklopedická znalost, ale hloubka pochopení probíraných témat a schopnost jejich implementace v praxi. Za každou otázku lze získat maximálně 20 bodů. Celkově je tedy možné za zkoušku získat 40 bodů. Pro absolvování zkoušky je potřeba dosáhnout v součtu nejméně 20 bodů. ===== Hodnocení ===== Výsledná známka je určena součtem bodů získaných ze cvičení (maximálně 60) a ze zkoušky (maximálně 40): ^ Známka ^ Bodové rozmezí ^ Slovní hodnocení ^ | A | 90 a více | výborně | | B | 80 až 89 | velmi dobře | | C | 70 až 79 | dobře | | D | 60 až 69 | uspokojivě | | E | 50 až 59 | dostatečně | | F | méně než 50 | nedostatečně | ===== Literatura ===== * He J., Kim C.-S., Kuo C.-C. J.: //Interactive Segmentation Techniques: Algorithms and Performance Evaluation//, Springer, 2014. * Radke R. J.: //Computer Vision for Visual Effects//, Cambridge University Press, 2012. * Goshtasby A. A.: //Image Registration: Principles, Tools and Methods//, Springer, 2012. * Paris S., Kornprobst P., Tumblin J., Durand F.: //Bilateral Filtering: Theory and Applications//, Now Publishers, 2009. * Gonzalez R. C., Woods R. E.: //Digital Image Processing (3rd Edition)//, Prentice Hall, 2008. * Šonka M., Hlaváč V., Boyle R.: //Image Processing, Analysis and Machine vision (3rd Edition)//, Thomson Learning, 2007. * Pratt W.: //Digital Image Processing (3rd Edition)//, John Wiley, 2004.