Hlavní navigace

Zpracování obrazu analogovým počítačem (mozkem): digitální vs. analogové zpracování

Karel Kulhavý 24. 11. 2014

V minulém díle jsem popsal hrubé schéma vizuálního systému mozku a začal úvahy, jak se dá reprezentovat obrazová informace v reálných výpočetních systémech se šumem. Jsem u toho, jak vylepšit metodu příjmu obrazu, kdy se používá polovičatý bit, ač polovičatý určitě vyslán nebyl, aby se minimalizovala chyba po cestě.

Podložíme zase nějakým podkresem, pravým analogovým.

Víme nespolehlivost kanálu – pravděpodobnost chybného bitu – a z toho programem GNU R spočteme jak silný ten šumový signál je.

> help(qnorm)

qnorm je kvantilová funkce normálního rozložení. Té se dá pravděpodobnost a ona nám řekne, v jaké vzdálenosti od středu šumu musí být řezací úroveň, aby pod ní šum lezl s danou pravděpodobností. Protože jde o poměr mezi řezací úrovní, která je fixní, a šířkou kopečku, přidáme před to 1/ (jedna lomeno). Mínus je, protože nás zajímá lezení šumu nad řezací úroveň místo pod ni. A nakonec vydělíme 2, protože řezací úroveň je v půlce mezi hodnotami bitu 0 a 1:

> sirka=-1/qnorm(0.001)/2
> sirka
[1] 0.1618001
> plot(x,dnorm(x, mean=0,sd=sirka),type="l")
> lines(x,dnorm(x, mean=1,sd=sirka),type="l")

Co je na obrázku? Levá křivka reprezentuje histogram signálu přijatého pro nulové vyslané bity a ta pravá pro jedničkové. Malinkatý zářez – zobáček nad hodnotou 0,5 představuje právě tu malinkatou plochu, kde je pokrytí dvojnásobné a vznikají chyby. Ten zbytek se přijme bezchybně.

Větší šum by odpovídal širším, více se překrývajícím kopečkům. Nižší zase užším, které by se pochopitelně méně překrývaly. Kdyby kanál byl úplně bez šumu, měli bychom jen dvě svislé, nekonečně vysoké spektrální čáry – nuly a jedničky, přesně stejné hodnoty, co jsme vyslali. Takhle se nám hodnoty různě posouvají od čísel 0 a 1 podle toho, kterým směrem s nimi šum zrovna hne.

Takto si teď situaci nasimulujeme. Předpokládám, že počet nul a jedniček na vysílači je zhruba stejný (pro běžné obrázky typicky splněno). Také předpokládám, že síla šumu je stále stejná, konstantní, ta, kterou jsme vypočítali. Ona konstantní typicky bude, určená fyzikálními parametry, v případě tisku na papír vlastnostmi toneru a papíru a tiskového procesu. V případě elektronického systému je daná silou temodynamického šumu na odporech v obvodu, výstřelového šumu na polovodičových přechodech, kterými protéká proud. V případě mozku to budou procesy teplotního šumu a šum tvořený kvantizací (diskrétním charakterem) aktivních molekul a diskretizací nervových impulsů. Typicky se v mozku jako analogová hodnota bere průměrný počet impulsů za určitý časový interval.

Další zjednodušení, co tu mám, že šum je aditivní – k signálu se přičítá. V elektronice to tak typicky je, u tisku ne. Síla šumu může záviset na přenášené hodnotě. Jak je to v mozku, přesně nevím. Domnívám se že toto omezení modelu zde nemá podstatný význam. Dá se snadno kompenzovat tím, že signálové hodnoty natáhneme nebo smáčkneme tak, aby při přenosu trpěly všechny stejně.

Podle Bayesovy věty je pak pravděpodobnost, že byl bit 1, jaká? Je to pravděpodobnost, že jedničkový bit vygeneruje přijatou hodnotu, vydělená pravděpodobností, že vůbec nějaký bit vygeneruje přijatou hodnotu:

gmic wat.pnm -div 3 -round -o wat_msb.pnm -noise 0.162,0 \
        [0] -sub[1] 1 -div 0.162 -pow 2 -div -2 -exp -add[0] [1] -div[1] [0] \
        -remove[0] \
        -o wat_msb_noise.cimg
gmic wat.pnm -mod 2 -o wat_lsb.pnm -noise 0.162,0 \
        [0] -sub[1] 1 -div 0.162 -pow 2 -div -2 -exp -add[0] [1] -div[1] [0] \
        -remove[0] \
        -o wat_lsb_noise.cimg
gmic wat_msb_noise.cimg -mul 2 wat_lsb_noise.cimg -add -mul 85 -cut 0,255 -o result_bayes.png -d

V gmicu na konci vidíme, že výsledný obrázek obsahuje desetinné pixelové hodnoty (při pohybu myší po obrázku).

Další možnost, jak kvalitu zlepšit, by byla založená na tom, že poškozený horní bit nadělá větší paseku než poškozený dolní bit. Napartitionovali bychom tedy bity na papíře tak, že by MSB byly fyzicky větší, a měly tím pádem lepší odstup od šumu a menší pravděpodobnost chyby.

Je v jednoduchosti genialita?

Co se ale místo stále sofistikovanějšího postupu ukládání bitů na papír a komplexního dekódování se statistickými algoritmy pustit opačným směrem? Nešlo by se inspirovat heslem „v jednoduchosti je genialita“? Co ten obrázek na ten papír prostě vytisknout? Je třeba ho rozložit do R G a B kanálů a přidat nějaké soutiskové kříže, aby fotografie nevypadala, jako když se Sergejovi Michajloviči Prokudinovi-Gorskému pohne jeho subjekt:

gmic "(0,255;255,0)" -to_rgb wat.png -resize[0] 10,[1] [0] -append x \
        [0] [0] -channels[0] 0 -channels[1] 1 -channels[2] 2 \
        -o[0] red.png \
        -o[1] green.png \
        -o[2] blue.png \
        -append y

Nascanovaný tisk pak nahrajeme do GIMPu a pomocí funkce perspective transform – corrective (písmeno p) registrujeme soutiskové značky na rohy obrazu. Při složení jsem pak udělal nějakou korekci na černou, která není úplně černá, a korekci nelinearity polotónovaného tisku tiskárny:

gmic red.png green.png blue.png -sub 15 -mul 1.0625 \
        -div 255 -pow 1.5 -mul 255 \
        -append c with_sync.png -resize[0] [1],5 \
        -remove[1] -cut 0,255 \
        -o result_analog.png -d

Musím říct, že kvalita tohoto analogového nekomprimovaného obrazu mě proti těm nekomprimovaným digitálním velmi překvapila. Obraz vnímám jako překvapivě čistý s mnohem lepší reprodukcí barevných gradací, a charakter rušení vnímám jako méně obtěžující, přirozenější, prostě analogový :).

Na analogovém kanálu by JPEG vůbec z principu běžet nemohl, ale jak by si vedl na chybovém digitálním kanále? Na bezchybném digitálním kanále má 100 kB JPEG obrazovou kvalitu velmi vysokou:


Zdroj (GFDL): D.Alyoshin, Wikimedia Commons

JPEG na chybovém kanále

Při naší příkladové chybovosti 0,1 % je JPEG zcela nepoužitelný:

Jak si vede při různých chybovostech od 2-10 do 2-18 , můžete vidět v galerii. Některé pokusy tam chybí, to je když JPEG zchátral natolik, že ho ani GMIC nedokázal načíst, aby ho znovu korektně uložil.

Sečteme-li všechny chybové obrázky v galerii, vyjde obrázek rozeznatelný jen v hrubých obrysech – jakási Praha stověžatá. Reakce tohoto digitálního systému na chyby má následující vlastnosti:

  • Poškozuje se víc dolní část obrázku
  • Vznikají geometrické struktury, co tam vůbec nebyly (šachovnice, proužky)
  • Dochází k prostorovým posuvům
  • Jedna chyba dokáže poškodit velké části obrázku
  • Dochází k totálním výpadkům částí obrazu
  • Integrací více snímků nelze kvalitu zlepšit, naopak, obraz se rozmaže.

V příštím díle uzavřu srovnání analogových a digitálních metod a konečně už vezmeme svěrák, pilku na železo, meotar a osciloskop a podíváme se fyzicky, co pod kapotou běhá za signály.

Anketa

Váš mozek přiřazuje některým obrázkům místo v reálném světě. Pro náš testovací obrázek s architekturou dal váš mozek výsledek:

Našli jste v článku chybu?

24. 11. 2014 9:13

Kolemjdoucí (neregistrovaný)

Článek není špatný, ale nemá vůbec žádnou souvislost se zpracováním obrazu mozkem.

24. 11. 2014 23:46

robotron (neregistrovaný)

Zabava se konala, ale mohlo ji byt o neco vic. Zrejme nas chce redakce a (dnes jiz) nerespektovany autor napinat do dalsiho dilu. Take se priznam, ze jsem na miru pitomosti byl uz trochu pripraven nekdejsimi nesmyslnymi vyklady snu o zrakovem vnimani, ale tohle je asi lepsi co do miry absurdity, ten JPEG na konci ;-)))

Diskuse taky nezklamala. Odbornici se predhaneji, kdo hur pochopil Shannonovu vetu o kapacite AWGN kanalu. Nejvic pobavil ten pan se spacirkou, stiraijci protivniky velmi urputne…

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Root.cz: Kamery Sony se dají ovládnout na dálku

Kamery Sony se dají ovládnout na dálku

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte