Číslicová filtrácia 2D obrazov v kvazireálnom čase v systéme s framegrabberom KAPA LAB a platformou Borland C++ Builder
17. Máj, 2010, Autor článku: Vlk Lukáš, Elektrotechnika, Študentské práce
Ročník 3, číslo 5
Pridať príspevok
Tento príspevok uvádza komplexné riešenie hardvérových a softvérových prostriedkov systému na odstránenie šumu zo statického obrazu snímaného analógovou videokamerou. Cieľom bol návrh a realizácia aplikácie, ktorá umožní odstraňovať šum z takéhoto obrazu a úprava generátora bieleho šumu s implementáciou do obrazu o ďalší vnútorný generátor, ktorý bude umožňovať zmenu rozkmitu (resp. efektívnej hodnoty) generovaného šumu. Na získanie šumom degradovaného signálu je použitý signál z videokamery, ku ktorému je aditívne alebo multiplikatívne superponovaný signál bieleho šumu.
1. Úvod
Prenos a spracovanie video signálu má v dnešnej dobe dôležité miesto. Pri týchto procesoch sa mnoho krát stane, že sa prenášaný signál znehodnotí a to najmä šumom. Takéto znehodnotenie video signálu vzniká najčastejšie v analógových systémoch na prenosovom médiu. Ak takto znehodnotený signál transformujeme pri spracovaní do digitálnej formy, napríklad pomocou framegrabberu KAPA-LAB, môžeme ho ďalej digitálne upravovať. Takéto úpravy budeme nazývať číslicové spracovanie obrazu – ČSO.
Mojim cieľom bolo navrhnúť aplikáciu v prostredí Borland C++ builder 5.0, ktorá bude eliminovať rušivé šumové komponenty v obrazovej správe. Pre získanie digitálnych dát je využitá PCI karta KAPA-LAB, ktorá umožňuje maximálne rozlíšenie 640×480 bodov pri 24-bitovej farebnej hĺbke. Ďalším cieľom bolo navrhnúť a zrealizovať generátor bieleho šumu s nastaviteľným rozkmitom výstupného šumového napätia. Podľa mojich prieskumov existuje iba niekoľko možností získania bieleho šumu, kde sa najčastejšie využíva záverne polarizovaný PN priechod.
2. Generátor bieleho šumu
Na obr.1 je znázornená bloková schéma zariadenia na generovanie bieleho šumu s implementáciou do obrazu, [1]. V tejto časti sa budem zaoberať predovšetkým blokmi, ktoré sú zvýraznené, čo predstavuje úpravu pôvodného zariadenia. Tieto bloky som pri konečnom návrhu spojil a realizoval na jednej doske plošných spojov. Generovaný šumový signál s nastaviteľným rozkmitom je privedený na vstup číslicovo riadeného analógového multiplexora.
Na jeho ďalší vstup je privedený šum z vnútorného generátora, čím som zachoval pôvodnú funkčnosť zariadenia. Ďalším vstupom môžeme do systému zaviesť šumový signál z externého zdroja šumu. Vstupy multiplexora sú aktivované dvojbitovým číslicovým signálom rovnomenného generátora ovládaného jednoduchým prepínačom.
Obr. 1. Bloková schéma zariadenia na generovanie bieleho šumu s implementáciou do obrazu
2.1 Blok vnútorného generátora bieleho šumu s nastaviteľným rozkmitom šumového napätia
Blok vnútorného generátora bieleho šumu je zostavený na obojstrannej doske plošných spojov. Pre zlepšenie vlastností celého zariadenia, som jednu stranu dosky plošných spojov použil len na vedenie zeme. Pri návrhu boli použité súčiastky od spoločnosti MAXIM/Dallas Semiconductors. Schéma zapojenia je kvôli lepšej prehľadnosti rozdelená na tri základné časti:
- Obvod generátora bieleho šumu s reguláciou rozkmitu výstupného šumového napätia
- Obvod na ovládanie vstupov multiplexora
- Obvod multiplexora MAX4588
2.1.1 Obvod generátora bieleho šumu s reguláciou rozkmitu výstupného šumového napätia
Schému zapojenia obvodu uvádza obr.2, [4]. Jadro obvodu, ktoré sa využíva na generovanie šumového signálu je tvorené záverne polarizovaným priechodom báza-emitor NPN tranzistora. Báza tranzistora je pripojená na zem a emitor je pripojený cez 100 kΩ rezistorový trimer PR1 na napájacie napätie +12V.
Obr.2. Zapojenie generátora bieleho šumu s reguláciou rozkmitu výstupného šumového napätia
Šumový signál je odoberaný práve z emitora tranzistora, pričom kolektor je nezapojený. Pri takomto zapojení je obvod schopný generovať širokopásmový biely šum s rozkmitom šumového napätia približne 10mVšš. Namiesto tranzistora môžeme šum odoberať aj z katódy zenerovej diódy, so záverne polarizovaným PN priechodom. Zapojenie so zenerovou diódou BZV55C7.5 SMD malo totožný výsledný rozkmit šumového napätia. Nakoniec som sa rozhodol použiť tranzistor KC639, ktorý svojimi parametrami dostačujúco vyhovuje požiadavkám.
Obr.3. Závislosť zosilnenia od prúdu ID obvodu MAX2611
Ďalej je šum cez kapacitnú väzbu privedený na vstup nízkošumového, širokopásmového zosilňovača MAX2611. Takéto zosilňovače sú použité dva zapojené v kaskáde. Každý z nich má výkonové zosilnenie približne 18dB, čo predstavuje na výstupe druhého OZ rozkmit šumového napätia pozorovaného na osciloskope približne 0.8Všš. Väzbové kapacity medzi jednotlivými stupňami boli zvolené čo najväčšie (220 μF), aby sa vo výstupnom šume prejavili aj nízkofrekvenčné zložky.
Obidva OZ majú totožné zapojenie, napájacie napätie je pripojené cez filtračnú cievku L1 (L2) 100 μH a 100 Ω trimer TR1 (TR2) na výstup operačného zosilňovača. Trimrom sa nastavuje prúd pretekajúci cez OZ a tým aj jeho zosilnenie, (obr.3). Vo výstupnom OZ je ešte zaradený 220 Ω potenciometer, ktorým môžeme regulovať výstupný rozkmit šumového napätia v rozsahu približne od 30 mVšš do 800 mVšš.
2.1.2 Schéma zapojenia obvodu pre ovládanie vstupov multiplexora
Uvedená je na obr.4. Na ovládanie adresovacích vstupov multiplexora bol zvolený obvod pozostávajúci z dvoch hradiel NAND a asynchrónneho binárneho počítadla 7493. Počítadlo je nastavené na mód 3, čo znamená, že počíta impulzy od 0 do 2 a na výstupoch Qa a Qb je ich binárna kombinácia. Činnosť obvodu riadi jednoduchý prepínač S1.
Obr.4. Ovládanie vstupov multiplexora
2.1.3 Schéma zapojenia obvodu multiplexora MAX4588
Uvedená je na obr.5. Šumový signál z generátora šumu s nastaviteľným rozkmitom šumového napätia je privedený na prvý vstup IN0 multiplexora MAX4588. Na ďalší vstup IN1 je privedený šumový signál z pôvodného generátora, a tretí vstup IN2 je pripravený pre možnosť zapojenia šumu z externého zdroja. Výstup multiplexora OUT je privedený na vstup zlučovacieho obvodu AD835. Jednotlivé vstupy multiplexora sú vyberané pomocou adresovacích vstupov ADR0 a ADR1. Napäťové úrovne pre adresovacie vstupy zodpovedajú úrovniam TTL logických obvodov.
Obr.5. Zapojenie multiplexora MAX4588
3. Filtrácia šumu aplikáciou metódy štatistického priemerovania
Princíp metódy filtrovania šumom degradovaného obrazu je založený na predpoklade, že jednotlivé vzorky šumu v obraze sú nekorelované. Keďže obrazové vzorky sú navzájom korelované (statický obraz), môžeme použiť metódu štatistického priemerovania. Táto metóda je najjednoduchšou metódou filtrovania zašumeného obrazu. Takúto metódu môžeme realizovať podľa blokovej schémy zobrazenej na obr. 6, [5]. Ak ako vstupnú informáciu máme zašumené obrazové vzorky
sekvencie M – statického pôvodne nezašumeného obrazu
, kde: pnoriadd – aditívne zašumené vzorky, pnorimlt – multiplikatívne zašumené vzorky, potom výstupnú informáciu reprezentuje obraz
s redukovanou šumovou zložkou. Účinok potlačenia šumu je úmerný počtu M vstupných obrazov.
Obr.6. Bloková schéma algoritmu štatistického filtrovania pomocou priemerovania
Ak predpokladáme, že sa šum vo všetkých vstupných obrazoch dá kvantitatívne vyjadriť rovnakou hodnotou pomeru signál/šum pre všetky i = 1,2,…,M:
(1) |
potom šum vo výstupnom obraze po filtrácii môžeme interpretovať hodnotou, [6]
(2) |
4. Realizácia aplikácie na filtráciu zašumeného statického obrazu
Aplikácia umožňuje filtráciu šumom degradovaných obrazových signálov (obrazov). Skladá sa z niekoľkých častí. Zdroj zašumeného obrazu môžeme získať dvomi spôsobmi:
- Ako zdroj použijeme signál z kamery, do ktorého je pomocou generátora šumu implementovaný signál bieleho šumu. Ďalej je tento signál privedený na video vstup framegrabberu KAPA-LAB, ktorý transformuje analógový signál do digitálnej formy.
- Ako zdroj použijeme statický obraz načítaný z pamäte, ku ktorému je digitálnou formou pridaný šum. V konečnom dôsledku nám vznikne sekvencia zašumených obrazov.
Na takto zašumený obraz je ďalej aplikovaná funkcia štatistického priemerovania, ktorá je pre obidva typy zdrojových dát identická. Aplikácia umožňuje zvoliť počet priemerovaní a z výstupného vyfiltrovaného obrazu vypočíta nasledovné štatistické funkcie, [6]:
MSE – stredná kvadratická chyba
(3) |
RMSE – odmocnina zo strednej kvadratickej chyby
(4) |
– stredná hodnota originálnej obrazovej správy
(5) |
– disperzia originálnej obrazovej správy
(6) |
SNR – pomer signál/šum
(7) |
PSNR – špičkový pomer signál/šum
(7) |
Medzi ďalšie funkcie aplikácie patrí možnosť vykreslenia grafu z vypočítaných hodnôt a práca s čiernobielym obrazom (pri takejto voľbe je algoritmus 3 krát rýchlejší, keďže sa počíta len s jasovou zložkou). Projekt je realizovaný v programovacom jazyku Borland C++ 5.0 Builder.
5. Výsledky experimentov
Pokusy boli realizované nasledovným postupom: Kamera bola umiestnená tak, aby snímala statický obraz (blok textu). Signál z kamery som priviedol na vstup generátora bieleho šumu. Úroveň rozkmitu bieleho šumu som menil medzi jednotlivými pokusmi v rozsahu od 200mVef do 800mVef s krokom 200mVef. Z výstupu generátora som zašumený obrazový signál privádzal na vstup framegrabberu KAPA-LAB.
Na obr.7 máme originálny obraz bez pridaného šumu. Obr.8 predstavuje snímku ku ktorej bol aditívnym spôsobom pridaný šum s hodnotou 200 mVef. Takto zašumené snímky som následne pomocou aplikácie vyfiltroval. Na obr.9, obr.10 je zobrazený výstup z filtrácie pre 10, resp. 100 priemerovaní. Ako je vidieť už pri počte 10 priemerovaní je z obrazu takmer odstránený šum. Pri počte 100 priemerovaní sa vyfiltrovaný obraz kvalitou približoval k originálu.
Obr.7. Obraz snímaný kamerou – bez šumu
Obr.8. Obraz snímaný kamerou s pridaným aditívnym šumom 200mVef
Obr.9. Obraz po filtrácii M=10 snímok (šum = 200mVef)
Obr.10. Obraz po filtrácii M=100 snímok (šum = 200mVef)
Na obr.11 je zobrazená snímka s pridaným aditívnym šumom s hodnotou 800mVef. Ako je vidieť z obrázku, šum sa prejavuje takou mierou, že nie je možné rozpoznať pôvodný obraz. Ako je vidieť z obr.13, výstup z filtrácie s počtom 100 priemerovaní je voči originálu tmavší, čo je spôsobené veľkým rozkmitom pridaného bieleho šumu, avšak text na obrázku sa dá rozpoznať.
Obr.11. Obraz snímaný kamerou s pridaným aditívnym šumom 800 mVef
Obr.12. Obraz po filtrácii M=10 snímok (šum = 800mVef)
Obr.13. Obraz po filtrácii M=100 snímok (šum = 800mVef)
V tab.1 a tab.2 , resp. na obr.14 a obr.15 sú výsledky získané z aplikácie pre PSNR[dB], resp. SNR[dB], pre počet priemerovaní M, s pridaným aditívnym bielym šumom od 200mVef do 800mVef.
Tab.1. PSNR[dB] pre rôzne efektívne hodnoty šumu
M | 200mVef | 400mVef | 600mVef | 800mVef |
---|---|---|---|---|
1 | 18,53 | 17,97 | 13,19 | 11,37 |
5 | 24,13 | 23,02 | 16,8 | 14,67 |
10 | 28,51 | 24,42 | 17,67 | 15,35 |
15 | 30,28 | 25,22 | 17,95 | 15,64 |
20 | 31,42 | 25,5 | 18,13 | 15,77 |
25 | 32,38 | 25,82 | 18,17 | 15,85 |
50 | 34,11 | 26,05 | 18,38 | 16,02 |
75 | 34,94 | 26,24 | 18,47 | 16,11 |
100 | 35,67 | 26,29 | 18,5 | 16,11 |
125 | 36,22 | 26,35 | 18,57 | 16,1 |
150 | 36,58 | 26,33 | 18,62 | 16,12 |
200 | 37,03 | 26,42 | 18,65 | 16,14 |
250 | 37,36 | 26,5 | 18,67 | 16,14 |
Obr.14. Závislosť PSNR[dB] od počtu priemerovaní M
Tab.2. SNR[dB] pre rôzne efektívne hodnoty šumu
M | 200mVef | 400mVef | 600mVef | 800mVef |
---|---|---|---|---|
1 | 6,5 | 4,49 | -0,29 | -2,11 |
5 | 11,41 | 9,54 | 3,32 | 1,19 |
10 | 13,48 | 10,94 | 4,19 | 1,87 |
15 | 15,24 | 11,74 | 4,47 | 2,16 |
20 | 16,38 | 12,02 | 4,65 | 2,29 |
25 | 17,34 | 12,34 | 4,69 | 2,37 |
50 | 20,24 | 12,57 | 4,9 | 2,54 |
75 | 21,3 | 12,76 | 4,99 | 2,63 |
100 | 22,1 | 12,81 | 5,02 | 2,64 |
125 | 22,7 | 12,87 | 5,09 | 2,62 |
150 | 22,9 | 12,85 | 5,14 | 2,64 |
200 | 23,6 | 12,94 | 5,17 | 2,66 |
250 | 24,3 | 13,02 | 5,19 | 2,66 |
Obr.15. Závislosť SNR[dB] od počtu priemerovaní M
Na obr.16 je znázornené spektrum zašumeného signálu celého video kanálu merané na výstupe generátora bieleho šumu s implementáciou do obrazu. Vysoká hodnota jednosmernej úrovne je spôsobená tým, že pri meraní spektra snímala kamera čiernu plochu.
6. Záver
Na záver možno konštatovať, že navrhnutý generátor bieleho šumu s nastaviteľným rozkmitom šumového napätia, sa po odladení správa stabilne. Rozkmit výstupného šumového napätia je možné regulovať v rozmedzí 30mVšš až 800 mVšš. Taktiež aplikácia na filtrovanie šumom degradovaných obrazov poskytuje požadované funkcie. Ako bolo vidieť z pokusov, pri vysokej úrovni rozkmitu bieleho šumu, sa po filtrácii obraz už značne odlišoval od originálneho obrazu snímaného kamerou. Avšak z takto vyfiltrovaného obrazu môžeme rozpoznať text, zatiaľ čo v šumom degradovanej snímke bol nerozpoznateľný.
Poďakovanie
Tento projekt bol podporený Ministerstvom školstva Slovenskej republiky v rámci grantov VEGA č. G-1/ 3107/06, č.G-1/0704/08 a projektu AV-4/0012/07.
Použitá literatúra
- KAJAN, R. (Kulla, P.-konzultant): Číslicové spracovanie a rekonštrukcia šumom degradovaných obrazov. Diplomový projekt, Katedra rádioelektroniky, FEI STU, December 2004
- Katalóg firmy GM Electronic
- Katalóg firmy MAXIM (MAX2611, MAX4588)
- Application Note 3469, Building a Low-Cost White-Noise Generator, Maxim Integrated Products, 14. March 2005
- KULLA, P.: Filtering of Noisy Degraded Images in real Time. In.:Proceeding of 10th International Scientific Conference “Radioelektronika 2000″, Slovak University of Technology, Bratislava, Slovak Republic, September 12.-13.,2000, pp. P-71-73
- KULLA, P.: Digital Image Processing. Lectures and seminaries, Study text, Dept. of Radio & Electronics, Bratislava, 1997-2004, (in slovak)
Spoluautorom článku je Doc. Ing. Peter Kulla, PhD, Katedra Rádioelektroniky, FEI STU