Seam Carving: Chytré zmenšování fotek
Inteligentní zpracování obrazu: Při zmenšování fotografií analyzuje technika seam carving jejich obsah. DŮLEŽITÉ ELEMENTY OBRAZU tak zůstávají zachovány, odstraněny jsou pouze ty nepotřebné. Metoda je tak úspěšná, že má být dokonce integrována do Photoshopu.
MARKUS MANDAU
Některé úkoly řeší program pro zpracování obrazu Adobe Photoshop poněkud těžkopádně – jako příklad může posloužit právě změna velikosti obrazu. Je k zlosti, že fotografie musí být stále zvětšovány a zmenšovány, že musí být pozměňována jejich šířka nebo výška. Obrazové rámy, webová stránka nebo TFT monitor pokaždé vyžadují jiné poměry stran a jiné rozlišení.
Řešením tohoto dilematu by měla být inteligentní změna velikosti, aby tak byly rozměry fotografie přizpůsobeny výstupnímu médiu. Zde však žalostně selhávají obě jednoduché metody Photoshopu, „cropping“ i „scaling“. Podle motta řemeslníků „Co se nehodí, musí se přizpůsobit“ software ustřihává z originálu tolik, že musíte akceptovat všechno, co zbude. Výsledkem je to, že důležité části obrazu jednoduše zmizí.
Běžná metoda: Rychle narazí na svoje hranice
Pro změnu velikosti nabízí Photoshop dvě metody, které poskytují přijatelnou kvalitu: „bilineární“ a „bikubickou“. Právě bikubická změna velikosti pracuje při zvětšování zjevně lépe. Protože jsou digitální obrazy složeny z pixelů, musí filtr při změně velikosti vypočítat nové pixely. Bilineární metoda k tomu využívá sousedící pixely. Zvětšené obrazy jsou proto zjevně neostré. Bikubická změna velikosti naproti tomu vztahuje obrazové body k okolnímu prostředí a vypočítá je podle prostorového odstupu. Nově vypočítané pixely ve zvětšeném obrazu tak mají svou ostrost. Změna velikosti přesto naráží na svoje hranice, mění-li se poměry stran fotografie. Tyto metody potom obraz deformují, takže se stává nepoužitelným.
Nová metoda: Nedůležité odstraní, zbytek ponechá
Současné metody selhávají, protože neberou žádný ohled na obsah obrazu. Technika seam carving jde na věc jinak. Základní myšlenka zní: To nedůležité odstranit, zbytek ponechat. Software analyzuje obsah, takže ví, co může vystřihnout, a čeho se naopak nesmí dotknout. Nezdá se přitom, že by tato analýza byla tak náročná jako rozpoznávání tváře. Stačí, když software vypočítá místa, na kterých je mnoho detailů, a místa, na nichž se nic moc neděje.
„Mnoho detailů“ znamená okraje obrazu, linie a struktury. Software proto potřebuje algoritmus, který tato místa v obrazu vysleduje. Určí těmto místům vysoké hodnoty, naproti tomu plochám hodnoty nízké. Uživatel má v rozhraní softwaru k technice seam carving na výběr hned pět algoritmů.
Určené hodnoty vytvářejí „základní oporu“ pro další krok: určení „energie“ fotografie. Chránit okraje vysokými hodnotami nestačí, protože rovněž objekty, které jsou uzamčeny, mají zůstat netknuty. Software proto v průběhu další výpočetní operace určí také hodnoty pixelů v blízkosti okrajů. Výsledkem je, že v našem obrázku se slony má obloha nejnižší „hodnoty energie“, více má tráva, potom křoví, a sloni dostávají nejvíc. Čím více detailů, tím vyšší energie.
Inteligentní: Seam carving vymazává pixely krok za krokem
Nyní má software k dispozici vše, co potřebuje ke zmenšení obrazu. Aby byl obraz zmenšen ze 600 pixelů šířky na 599, software odstraní vertikální sloupec pixelů s nejmenší hodnotou energie. Přitom ovšem nesleduje přímou linii, ale pouze cestu (seam) z pixelů s nízkou energií. Software začíná například s pixelem na spodním okraji a přezkoumá hodnoty tří sousedních horních pixelů. Ten s nejmenší hodnotou energie označí, potom pokračuje další řadou, až vznikne kompletní cesta (seam) k hornímu okraji.
Pro každý pixel, o který má být obraz menší, vypočítá software novou cestu a odstraní ho. Tak zůstávají důležité objekty nedotčeny, jsou ale přiblíženy k sobě.
Tato metoda funguje stejně tak pro horizontální cesty zleva doprava. Pro zmenšení obrazu ve dvou rozměrech jsou vypočítávány střídavě horizontální a vertikální cesty.
Pomocí techniky seam carving je možné fotografie také zvětšovat. Software tak kopíruje cesty do originálu, až jsou dosaženy potřebné rozměry. Velikost objektů přitom zůstává zachována, ale vzdálenost mezi nimi se zvětší.
Negativním aspektem techniky seam carving je to, že na rozdíl od změny velikostí značně pozměňuje obsah obrazu. Uživatel může v softwaru označit libovolné části obrazu nízkou energií a ty tak během změny velikosti snadno zmizí. Druhou možností je pro některé oblasti nastavit vysokou energii a ty tak zůstanou definitivně nedotčené.
Když vývojáři minulý rok představovali techniku seam carving, vytvořili mapu všech cest a pomocí ní v reálném čase ukázali, jak lze fotografii libovolně zvětšit nebo zmenšit. Na odborné konferenci Siggraph nyní vývojáři chtějí demonstrovat, že seam carving je možné použít dokonce i pro video.
Krátce poté, co byla tato metoda představena, vytvořili nadšenci příslušné programy. Některé z nich najdete na našem Chip DVD, mezi nimi také plugin pro Gimp. Photoshop v současnosti seam carving nezvládá, ale onOne Software (www.ononesoftware.com) chce ještě v tomto roce uvést na trh plugin. To ale zřejmě není vše: firma Adobe již najala některé z vývojářů techniky seam carving. Možná se tak inteligentnímu zmenšování obrazů jednou naučí dokonce i Photoshop.
AUTOR@CHIP.CZ
SHRNUTÍ
Je zřejmé, že seam carving není vhodný pro všechny fotografie. Jakmile má však obraz více centrálních motivů, seam carving jednoznačně vítězí nad tradičními metodami. Už z tohoto důvodu patří k inteligentním metodám zpracování obrazu.
INFO
Matematické pozadí techniky
Ze stránek www.seamcarving.com je rovněž možné si stáhnout soubor PDF o velikosti přibližně 20 MB, v němž je podrobně popsána tato metoda zmenšování či zvětšování obrázků. Autoři v této vědecké práci popisují zejména matematické pozadí, a exaktní postupy dokumentují na příkladech nejrůznějších fotografií či maleb. V závěru článku uvádějí i výhledy metody seam carving do budoucna. „Naši práci bychom chtěli rozšířit i do dalších oblastí, přičemž první z nich by jednoznačně mělo být zvětšování či zmenšování videa,“ uvádějí autoři. „V budoucnu bychom také chtěli nalézt lepší způsob, jak kombinovat vertikální a horizontální cesty (seams) v obrazech.“
INFO: WWW.SEAMCARVING.COM
Srovnání tří metod pro změnu velikosti
Originál: Obraz je široký 1 000 pixelů a je třeba ho zmenšit na 600 pixelů. K dispozici jsou tradiční metody cropping a scaling, alternativou je metoda seam carving.
Cropping Je-li fotografie jednoduše oříznuta, není žádná z obou pagod plně v obrazu. Metoda je nepoužitelná.
Scaling Bikubická interpolace deformuje obraz – obě pagody působí užší, než jsou ve skutečnosti.
Carving Pouze nová metoda seam carving splní úkol téměř ideálně – obě pagody zůstávají netknuté.
INFO
Seam carving v akci
Original
Fotografie se slony je široká 850 pixelů. Pomocí metody seam carving má být zmenšena na 550 pixelů.
OBRAZOVÁ ANALÝZA VE TŘECH KROCÍCH
1 Detekce okrajů: Software použije na obraz filtr, který okrajům určí vysoké hodnoty.
2 Obraz energie: V průběhu další výpočetní operace obdrží všechny pixely v blízkosti okrajů vyšší hodnoty.
3 Seams: Software vytvoří 300 cest (seams) s nízkými hodnotami a vymaže pixely ležící na těchto cestách.
Výsledek
Poté, co software vyřízne 300 vypočítaných cest, zůstávají centrální motivy zachovány.
- Technický lexikon - Seam Carving: Chytré zmenšování fotek (301.84 kB) - Staženo 1119x