Ano, lze rekonstruovat původní obraz před rozostřením, rozmazáním, apod, pokud dokážeme zjistit parametry onoho procesu, což je v některých případech poměrně jednoduché. Např. rozostřený/rozmazaný obrázek rekonstruujete v Matlabu na několika řádcích za pár minut. Někdy člověk žasne, co všechno je možné s poměrně málem udělat.
Problém je numerická přesnost. Čím větší je rozostření, tím přesnější vstupní data jsou potřeba. Takže v praxi může být problém bitová hloubka a komprese obrazu, protože přidávají šum.
Co se týče úmysleného znehodnocení, nejbezpečnější by samozřejmě bylo obličeje začernit. Ale jinak je dobré obraz po rozmazání (nejlépe nějakém náhodném) navíc zašumět, snížit bitovou hloubku, pixelizovat, provést nějakou nelineární transformaci jasu apod. Potom třeba rozmazat znovu, aby to "vypadalo hezky a hladce" :) Kombinací lze vymyslet mnoho.
A oni to skutečne nějak tak podobně asi dělají, není to pouze rozostření: "We use an algorithm that scans a video and detects facial features like eyes. From there it blurs the detected faces by adding things like noise and pixelation to the detected features."
Nemám sice state-of-the-art vědomosti, ale docela bych tomu věřil :)
Někdy člověk žasne, co všechno je možné s poměrně málem udělat.
Myslíš takhle? :-)))
Otázkou je, zda skutečně požadujete originál. Před pár lety se odehrál případ, kdy byly nalezeny pedofilní fotografie, na kterých se autor vyfotil a pak "rozmazal". Sice to expertům nějaký čas zabralo, ale dokázali rekonstruovat jeho obličej natolik dobře, že ho někdo poznal.
Ono "obnovit" 10 procent informace u fotky s 1Mpix už stačí na dost dobrou identifikaci. A pokud je to video, tak se to dá poskládat poměrně slušně. Ono ne náhodou se třebas vesmír fotí tak, že se těch mizerných rozmazaných fotek udělá pár desítek a počítač to pak "vyladí". Statistika nuda je, ale také je to docela prevít.
Přesný originál nedostanete a ani jsem to netvrdil, zmínil jsem rekonstrukci obrazu...
Docela jsem čekal, že s tím někdo přijde. Tak a teď můžete rozjet flame :)
Je to trochu neintuitivní, ale rozmazání obrazu samo o sobě z principu ztrátu informace nezpůsobuje a reverzibilní je (teoreticky). Ztráta informace je způsobena až tím, že se při práci s obrazem počítá v celých číslech, a to ještě poměrně malých, a pak při kompresi výsledného obrazu. Přesto dochází k menší ztrátě informace, než by si většina lidí tipla.
Samo sebou že pokud z obličeje zůstane jeden velký flek, tak se těžko zrekonstruuje. Ale pokud máte třeba fotku mírně rozmazanou pohybem, Gaussovsky rozostřenou apod., opravdu lze na pár řádcích provést docela zajímavou rekonstrukci.
PS: Video k tématu pěkný :) A přesvědčovat dál nikoho nebudu, neb to evidentně namá žádny smysl.
"Přesný originál nedostanete a ani jsem to netvrdil, zmínil jsem rekonstrukci obrazu..."
"Ano, lze rekonstruovat původní obraz před rozostřením, rozmazáním, apod, pokud dokážeme zjistit parametry onoho procesu..."
IMHO ste to tvrdil, rekonstrukcia je postup nie vysledok, a povodny obraz je to co do procesu rozostrenia vstupuje = original. :). Ak ste mysleli ciastocnu rekonstrukciu mali ste to napisat, rekonstruovat s mizernym/nulovym vysledkom je mozne hoci co.
"Je to trochu neintuitivní, ale rozmazání obrazu samo o sobě z principu ztrátu informace nezpůsobuje a reverzibilní je (teoreticky)."
Rozostrenie byva aproximovane/implementovane DP filtrom a ten je z principu stratovy pomerne dost. :)
Vysvětlovat mi, co jsem napsal, opravdu nemusíte. Ať si z toho každý vezme, co chce... Jestli si někdo myslel a pochopil to tak, že rekonstrukcí je možné získat na pixel stejný obraz jako originál, je to jeho problém a mě to skutečně nějak netrápí.
Že je rozmazání de facto aplikace DP filtru je jasné. A stojím si za názorem, že filtr jako takový, jeho efekt, (ať už je jádro filtru časově/prostorově diskrétní, má jakoukoliv velikost a je aproximací nevím čeho) není primární příčinou ztráty informace.
"Tedy z principu není vůbec ztrátový" :D
(No ona to úplně pravda není, může mít filtr na některých frekvencích zcela nulový přenos, kde potom ke ztrátě informace dochází, ale těch nemusí být moc a není to největší problém, podle mě.)
Příčinou je až to, že se "slabá" informace ztratí v šumu, který vzniká např. při zakourouhlovaní. Přesto tam ale nějaká informace může zůstat a pomoci rekonstruovat původní stav.
Máte pravdu, je to ztrátové. A ztrátovost je obrovský problém. To je také důvod, proč nikdo na světě nepoužívá formáty jako je JPG nebo MP3. Ono přece cokoliv ztrátového činí výsledek naprosto nepoužitelným.
Ale dost bylo ironie. Jde o to, že ztrátovost sama o sobě neříká nic. Je důležité kolik informace a jaké se ztratí. Překrytí obrazu černým obdélníkem je dostatečná ztráta. Rozmazání už moc ne. U kostičkování záleží na počtu kostiček celkem (zrada u videa, každý snímek jsou další a další kostičky do skládačky). A taková ta všelijaká "tornáda" už vůbec ne.
Takze u rozkockovania strata informacie zalezi od parametrov - pocte kociek ale u rozmazania nie, tam je strata konstantna = "moc ne".
Ale dost bolo ironie, alebo vlastne este nie. Pozor aj na to rozkockovanie, tam sa tiez na oblast obrazu zodpovedajucej jednej kocke (stvorcu) aplikuje DP filter prepustajuci iba jednomernu zlozku a ten, ako bolo povedane, z principu nie je vobec stratovy, aj ked pre vsetky ostatne zlozky ma prenos = 0.
Irony continues: Ano, sprůměrování čísel na nějaké oblasti je velmi typický a univerzální zástupce filtrů a vlastnosti ostatních filtrů, vesměs stejně nezajímavých, se ani příliš neliší, takže proč je vůbec řešit.
Zkuste se podívat na přenos např. Gaussova okna velikosti 7x7 a sigma=10 při velikosti obrazu 256x256, složek, které se blíží nule, zas tolik není. Např. složek s přenosem menším než 0.001 je jenom 5.44%.
Mate to naopak, tu bolo vseobence tvrdene ze rozmazanie je reverzibilna operacia (bez ohladu na parametre!), co tvrdim ze nie je. Filtre si mozem vyberat ja. Preco by som mal pouzit gaus? To mozete rovno napisat ze sa mam pozriet na filter s prenosm = 1 v celom pasme, ale ten by produkoval nulove rozmazanie, vsak. To Vy sa pozrite na si() resp lanczos.
Ok, dejme tomu že jsem trochu záměrně zvolil silné a peprné tvrzení, alespoň to vyvolalo nějaké reakce a někdo se nad tím třeba pozastavil a zamyslel, včetně mě.
Původní věc, kterou jsem chtěl víceméně sdělit je, že když někdo dostane nějakým způsobem rozmazaný obrázek (nebo ho v nějakém editoru sami rozmažeme), tak není pravda, že s tím apriori určitě nejde nic dělat, že je to prostě jednou rozmazané a hotovo. V některých případech to jde rekonstruovat dobře, v některých hůře a samozřejmě jde vymyslet případy, kdy to opravdu nejde, ale nemusí to být z obrázku vždy na první pohled patrné.
Nikde nepopírám, že v praxi nedochází ke ztrátě informace, ale někdy tam prostě té informace může zůstat více, než se zdá. Proto když vezmu editor a někomu rozostřím obličej s nastavením třeba 10px tak, že ho už ani sám nepoznám, neznamená to, že někdo jiný nebude schopný dostatečně rekonstruovat fotografii zpět k jeho identifikaci. Musel bych si dát práci a navrhnout filtr, který informaci opravdu odstraní, třeba vámi zmiňovaný sinc(), nebo rovnou pracovat s obrazem ve frekvenční oblasti. Ale to asi nejsou funkce v editorech běžně dostupné. Tam se většinou nabízí jako volba číslo jedna právě Gauss. Jinou možností, jak to trochu více pojistit, je třeba následné přidání šumu, které jsem zmiňoval.
Celá diskuse má podle mě smysl spíš proto, aby lidi upozornila, že ten problém není tak jednoduchý a je mylné si myslet, že "když se to trochu rozmaže", už s tím nikdo nikdy nic neudělá, než abychom se tady tahali za slovo.
(Já jsem to "tlačil" více tím směrem, že to jde. Z vaší reakce jsem ale nabyl dojem, že takovou možnost za všech okolností odmítáte. Skutečnost je někde uprostřed. Nevermind.)
Příklady viz, google: "image deblurring", "image deconvolution". Např.:
http://www.mathworks.com/products/demos/image/ipexblind/ipexblind.html
http://math.nist.gov/mcsd/highlights/blinddeconvolution.html
http://tv.adobe.com/watch/max-2011-sneak-peeks/max-2011-sneak-peek-image-deblurring/
To co uvadi ADOBE je nastroj, ktery umi jen zaostrit obraz, ktery je rozostreny pohybem ! coz je neco jineho.
Ten matlab je sranda, ale vypada to rozostreni divne, udelej to v gimpu a pak uvidime ;-)))
No a nemusime jen rozmazavat, muzem to i jinak domrsit, treba ne transformaci, ale dodanim neceho svojeho
Neřekl bych, že rozmazání pohybem je něco jiného (z principu) než např. Gaussovo rozmazání. Stále se na to můžeme koukat jako na konvoluci, akorát konvoluční jádro má v obou případech jiné číselné hodnoty. Pro jádra s různými charakterisitkami asi budou existovat vhodnější a méně vhodné postupy řešení a různá další vylepšení, ale obecně bych oba problémy zaškatulkoval jako "image deconvolution".
Vypadá to jinak, než v gimpu, ale s parametry, jaké zvolili, to tak vychází. Nevidím v tom problém. Pokud tomu nevěříte, můžete si postup vyzkoušet sám na svém vlastním obrázku, vlastnoručně rozmazaném :)
Jiné "domršení" může znamenat větší problém, viz. první přízpěvek.
PS: Příklady možná nejsou nejlepší, ale google umíte zajisté používat sám taky :) Pokud najdete zajímavé příklady, rád se podívám.