adaptive filtering of raster map images

48
Adaptive Filtering of Raster Map Images Minjie Chen*, Mantao Xu and Pasi Fränti Speech and Image Processing Unit (SIPU) School of Computing University of Eastern Finland, FINLAND

Upload: koko

Post on 24-Feb-2016

51 views

Category:

Documents


0 download

DESCRIPTION

Adaptive Filtering of Raster Map Images. Minjie Chen*, Mantao Xu and Pasi Fränti. Speech and Image Processing Unit (SIPU) School of Computing University of Eastern Finland , FINLAND. Raster Map Images. Topographic or road maps Few colors Detailed spatial structures. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Adaptive Filtering of Raster Map Images

Adaptive Filtering of Raster Map Images

Minjie Chen*, Mantao Xu and Pasi Fränti

Speech and Image Processing Unit (SIPU)School of Computing

University of Eastern Finland, FINLAND

Page 2: Adaptive Filtering of Raster Map Images

Raster Map Images

Topographic or road maps Few colors Detailed spatial structures

Page 3: Adaptive Filtering of Raster Map Images

Filtering of Raster Map Images

RequirementNo over-smooth, remain readableNumber of colors does not increasePreserve spatial structures

Noise ModelImpulsive NoiseGaussian Noise

Original: 4 colorsScanning Image:

11063 colors

Quantized Image:4 colors

Page 4: Adaptive Filtering of Raster Map Images

Existing Methods

Impulsive NoiseVector Median (VM, AVM)Peer Group Filtering (PGF,FPGF )Morphological FilteringContext Tree ModellingDiscrete Universal Denoiser (DUDE)

Gaussian NoiseWavelet denoising using Gaussian scale mixtures (GSM)Non-local mean (NLM)Dictionary- based method (K-SVD)Blocking matching and 3D filtering (BM3D)Markov random fields/conditional random fields (FoE,ARF)Non-Local Sparse Models for Image Restoration (NLSM)Patch-based Locally Optimal Wiener Filtering for Image Denoising (PLOW)Sparsity-based Image Denoising via Dictionary Learning and Structural Clustering (CSR)

Most algorithms are designed for continuous-tone(photographic) imagesComplicated spatial structures in the map will be destroyed

Page 5: Adaptive Filtering of Raster Map Images

Multi-Layer Method for Morphological Filtering

Covert multi-dimension image filtering problem into a series of binary image filtering problem using layer seperatingAfter filtering on each layer, select suitable layer ordering to reconstruct the image

Step 1: Divide color image into Multi-Layer binary imagesStep 2: Filter binary layers separatelyStep 3: Layer ordering decisionStep 4: Merge the filtered layers

Page 6: Adaptive Filtering of Raster Map Images

Layer separating

Filter each layer

Merging step with global color priority

Example of Multi-Layer Method(Global Color Priority)

Page 7: Adaptive Filtering of Raster Map Images

Step 3: Layer ordering (cont.)

Global criterion : select colors according to their frequency

Lowest priority is used as background color

PRIORITY

Highest

Priority

618416 230020 173358 22975 3458 349

Same color priority for whole imageNo difference for different regions

Page 8: Adaptive Filtering of Raster Map Images

Step 3: Layer ordering: Local Color Priority (Chen et al. ICIP’09)

Segment the image into several regions with different background color, set different ordering criterions for these regions

Page 9: Adaptive Filtering of Raster Map Images

Merging with local color priority

Example of Multi-Layer Method(Local Color Priority)

Page 10: Adaptive Filtering of Raster Map Images

Algorithm for color priority decisionStep 3.1: Dilation and fill holes

Process each color layer by soft morphological dilation and filling holes operations.Large blocks regions are possible background regions.

Page 11: Adaptive Filtering of Raster Map Images

After dilation and filling holes

Page 12: Adaptive Filtering of Raster Map Images

Algorithm for color priority decisionStep 3.2: Evaluate preliminary segments

Region labeling labels connected pixelsAfter region labeling, sort segments according to their sizeIf the size of the segments is larger than a threshold, select as background region candidateThe goal is to extract large connected segments in each layer for later background filling step

Page 13: Adaptive Filtering of Raster Map Images

Example of Step 3.2Preliminary segments

Segment Size

1 765241

2 662515

3 187677

4 83904

5 51170

6 21044

Six large segments are detected from different layer

2,5 from black layer, 3 from blue, 1,4 from white, 6 from brown

Page 14: Adaptive Filtering of Raster Map Images

Algorithm for color priority decisionStep 3.3 Background filling

Evaluate if those large segments detected in Step 3.2 are real background regions.First create a blank background imageEvaluate those segments one by one from large segment to small segment.If it is real background, add to background image, labeling the region with the layer color

Page 15: Adaptive Filtering of Raster Map Images

Algorithm for color priority decisionStep 3.3 Background filling

Two features used for validating if it is background segmentFeature 1: How many change after dilation and image filling operationBackground segment’s size does not change much, have large ratio

Region 1: Before 526337 After 765241

Ratio 0.6878(ADDED)

Region 2: Before 193606 After 662515

Ratio 0.2922(NOT ADDED)

Page 16: Adaptive Filtering of Raster Map Images

Algorithm for color priority decisionStep 3.3 Background filling (cont.)

Feature 2: Does this segment overlap with background already filled?In common condition, it should have a small value, this feature can enhance the filling accuracyIf feature 1 is close to 1, this feature can also be large, it will add a background inside one background segment

Region 2: Overlap percentage 97% (NOT ADDED)

Region 1: Overlap percentage 0% (ADDED)

Already labeled region 1

Blank Background

Page 17: Adaptive Filtering of Raster Map Images

Fill block 1

S1/S2 Po ADD(Y/N)

1 0.6878 0 Y

2 0.2922 0.9712 N

3 0.8373 0.0172 Y

4 0.8024 0.0149 Y

5 0.2302 0.9953 N

6 0.1567 1 N

Fill block 3

Fill block 4

Blank background

image

We can set different threshold in filling step, causing different background images.Classification can be done to decide threshold for different type of images.

Page 18: Adaptive Filtering of Raster Map Images

Algorithm for color priority decisionStep 3.4 Process unlabeled region

Large unfilled regions ---- set as small background region.Small unfilled region ---- merge it to the nearest background.

Set as small background region

Merge to the nearest background

After processing

Page 19: Adaptive Filtering of Raster Map Images

Step 3.5 Calculate the color priority in different background regions

For all background region, calculate its corresponding color histogram We then get different color priority for different region

Page 20: Adaptive Filtering of Raster Map Images

More examples of background image

Page 21: Adaptive Filtering of Raster Map Images

Result - impulsive noise

Page 22: Adaptive Filtering of Raster Map Images

Conclusion of Multi-layer method

The current method does not work if color number is largePriority between small structures not consideredSpecial local patterns combined with multiple color is missed

Page 23: Adaptive Filtering of Raster Map Images

Statistical Filtering (Chen et al. ICME’10, IEEE TMM’ 11)

Colors with low conditional probability will be replaced by the dominated color

Frequency Frequency

X X

Frequency

4093459

Frequency

22

19336

Context Template

Page 24: Adaptive Filtering of Raster Map Images

Example of Context Tree Modeling

Context Dilution 6-color, 20-pixel template has 620 = 3,656,158,440,062,976 contexts

Most contexts has rare appearance, cause inaccurate conditional probability estimation.

Context Tree ModelingOnly appeared contexts are allocated in memory

Time complexity O(N), where N is the length of a data sequence.

Tree spanning is terminated once the frequency of the context on a given node is less than a predefined

value(N) Threshold Contexts

N=256 23676

N=128 35847

N=64 54736

N=32 82260

X XX X1 1 1

Root

1N1=220N2=110N3=25N4=35

N1=405N2=117N3=238N4=6

N1=46N2=810N3=44N4=75

N1=400N1=58N1=24N1=30

Children pointer array

X1

2 X1

2 X1

2N1=23N2=67N3=25N4=5

N1=85N2=16N3=0N4=10

N1=112N2=27N3=0N4=20

Page 25: Adaptive Filtering of Raster Map Images

Context Merging

Including noise pixels in the surrounding contexts makes good conditional probability estimation difficult.

For contexts with rare appearance, a merging process is done to collect the statistics of all similar contexts.

Time complexity is O(kNM2), where M is the number of colors, k is the depth of the context tree, N is the number of contexts with rare appearance.

Example of context merging

Noisy pixelMost consistent sub-context

Page 26: Adaptive Filtering of Raster Map Images

Filtering Threshold

Discrete Universal Denoiser(DUDE)

M is the number of colors, δ is the noise level, u0 is the color with highest conditional

probability.

DUDE has a so-called “asymptotic optimality” property for M-ary symmetric noise.

Estimation of δ

Estimated by the minimum conditional probability occurred for contexts with “sufficient

frequency”:

0 arg max ( | )x Au P x c

2

0 0( 1) (1 ) ( 1)( | ) ( | ) 1

((1 ) 1) ((1 ) 1)M MP x x P x u

M M

c c

2, ( ) 101 max ( | )

c

cx p

p x

0 0( ( ) | ) / ( 1), 1,2,...,P I x x M x M cThis decision rule is designed for the count statistics collected on the noisy image. For a clean image, the decision rule is

Page 27: Adaptive Filtering of Raster Map Images

Extension for Gaussian Noise

Iterative algorithm to optimize both the estimation of the indexed image and its color palette.

The distance between RGB color vector to its corresponding component in the color palette, and its conditional probability of local context are taken into account as an information fusion. Definitions:

X: index image, Y: corresponding image, CP=(m1,m2,…mM) color palette where mi = (mi(r), mi(g), mi(b)) , yx = (rx,gx,bx) the color intensity of x in RGB space.

Input: YX, CP ← Conduct color quantization based on Y Σ ← Estimate the quantization variance based on

X, Y,CP according to (3)For T iterations DO: Given X, update P(x|c) Update X , according to (1) Update CP and σ according to (2) and (3)End-ForOutput: Y, X, CP.

General Scheme for filtering Gaussian noise

(1.. ) 2 2

2

2

2

( ) arg min ( log ( | ) log ( | ))

~ ( , ), is the mean variance

|| || ( ) exp( )

2

x M x

x

I x f P x

where N

f

x

x

x xx x

y M c

M m I

y my | M

( ) median({ | , and ( ) }) x Xim r r x I x i

2

1 , ( )

1 || ||3 | |

M

i x I x iX

x iX

y m

(1)

(2)

(3)

Page 28: Adaptive Filtering of Raster Map Images

Filtering Example

Noisy image Quantized image

Filtering after 1 iteration Filtering after 5 iterations

Page 29: Adaptive Filtering of Raster Map Images

Experiments under Different Noise Level

δ = 0.05

Error rate (%)

AVM PGF CT DUDE ACSSet#1 8.65 1.40 1.04 0.94 0.65Set#2 4.19 1.26 0.99 0.99 0.78Set#3 11.8 3.26 2.41 2.09 1.59Set#4 6.55 1.21 1.42 1.34 0.82Set#5 9.27 6.02 4.36 2.66 2.02

σ =25 PSNR

GSM NLM BM3D ARF ACSSet#1 24.4 24.9 26.2 24.2 47.1Set#2 24.0 23.5 26.5 23.3 59.2Set#3 23.7 22.4 23.7 23.0 27.0Set#4 24.6 24.1 25.5 23.8 33.4Set#5 25.1 24.3 26.1 25.1 27.7

0 5 10 15 200

1

2

3

4

5

Impulsive Noise Level(%)

Erro

r Rat

e(%

)

AVMPGFCTDUDEACS

0 10 20 30 40 50

20

25

30

35

40

45

50

Gaussian Noise()

PS

NR

BM3DNLMGSMARFACS

Page 30: Adaptive Filtering of Raster Map Images

Visual Examples

Impulsive noise AVM PGF CT DUDE ACS

Gaussian noise BLS-GSM NLM BM3D ARF ACS

Mixed noise PGF BM3D BM3D+PGF FPGA ACS

Page 31: Adaptive Filtering of Raster Map Images

Summary

Statistical filtering for raster map images

Can process images distorted by impulsive noise, additive Gaussian noise and mixture Gaussian-impulsive noise

Both color distribution in RGB space and the conditional probabilities of local context are considered

Page 32: Adaptive Filtering of Raster Map Images

Optimize the Context Selection (Chen et al. ICIP’11)

Pruning? Merging?

Reorder the context pixel-wise?

Our solution: An voting-based method to optimize the context selection

Page 33: Adaptive Filtering of Raster Map Images

Measuring Goodness Score of Context

identify good or bad context by top-down tracing from the root of tree.

|2 |

( | )( )F( ) log ( ) k ( | ) log( )( ) ( )

X CX C

xE

P xP P xP P x

ccc c

c

1

( ) ( )

k

E ii

P P yc

( ) is probability of context , ( ) is the probability of color i iP P y yc c

Page 34: Adaptive Filtering of Raster Map Images

Example of pixel with good Context and bad Context in the Map

Original NoisyOriginal Noisy

Noisy pixel with bad context

Noisy pixel with bad context can not filter correctly.Can we use bad context for noise estimation?

Page 35: Adaptive Filtering of Raster Map Images

Detect Noisy Pixel by bad Context

Bad contexts will have higher score difference after the

noisy pixel is removed.

We can accumulated these score difference for bad context to find

noisy pixel, which is the voting image R:

Include noisy pixel may cause bad context.

/{ }, 1..R( ) = R( ) + F( ) - F( ) when F( ) - F( ) 0

is the pixel position of th context element

i i

i i i

i

i

x i kx x

x i

z cz c

z c

Page 36: Adaptive Filtering of Raster Map Images

Voting Image (cont.)

F(z)- F(c)-0.39 2.29 5.41 -0.38

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

Voting image

0 0 0 0 0

0 0 0 2.29 0

0 0 5.41 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 2.29 0

0 0 5.41 0 0

0 0 0 0 0

0 0 0 0 0

+

Page 37: Adaptive Filtering of Raster Map Images

Voting Image (cont.)

F(z)- F(c)1.39 -1.24 -1.33 3.58

0 0 0 0 0

0 0 0 2.29 0

0 0 5.41 0 0

0 0 0 0 0

0 0 0 0 0

Voting image

0 0 0 1.39 0

0 0 3.58 2.29 0

0 0 5.41 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 1.39 0

0 0 3.58 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

+

Page 38: Adaptive Filtering of Raster Map Images

Voting Image (cont.)

F(z)- F(c)-0.62 5.69 1.96 -0.40

0 0 0 1.39 0

0 0 3.58 2.29 0

0 0 5.41 0 0

0 0 0 0 0

0 0 0 0 0

Voting image

0 0 0 1.39 0

0 0 3.58 2.29 0

0 0 11.0 0 0

0 1.96 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 5.69 0 0

0 1.96 0 0 0

0 0 0 0 0

+

Page 39: Adaptive Filtering of Raster Map Images

Voting Image (cont.)

F(z)- F(c)4.15 -2.86 -2.32 2.24

0 0 0 1.39 0

0 0 3.58 2.29 0

0 0 11.0 0 0

0 1.96 0 0 0

0 0 0 0 0

Voting image

0 0 0 1.39 0

0 0 7.73 2.29 0

0 2.24 11.0 0 0

0 1.96 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 4.15 0 0

0 2.24 0 0 0

0 0 0 0 0

0 0 0 0 0

+

-0.65

Page 40: Adaptive Filtering of Raster Map Images

Voting Image (cont.)

F(z)- F(c)-2.02 3.23 -1.40 -1.63

0 0 0 1.39 0

0 0 7.73 2.29 0

0 2.24 11.0 0 0

0 1.96 0 0 0

0 0 0 0 0

Voting image

0 0 0 1.39 0

0 0 7.73 2.29 0

0 2.24 16.5 0 0

0 1.96 3.23 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 5.51 0 0

0 0 3.23 0 0

0 0 0 0 0

+

5.51

Page 41: Adaptive Filtering of Raster Map Images

Voting Image (cont.)

F(z)- F(c)1.79 1.38 -1.43 -1.16

0 0 0 1.39 0

0 0 7.73 2.29 0

0 2.24 16.5 0 0

0 1.96 3.23 0 0

0 0 0 0 0

Voting image

0 0 0 1.39 0

0 0 7.73 2.29 0

0 2.24 18.3 2.35 0

0 1.96 3.23 1.38 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 1.79 2.35 0

0 0 0 1.38 0

0 0 0 0 0

+

2.35

Noisy pixel have a high voting value

Page 42: Adaptive Filtering of Raster Map Images

Voting Image (cont.)Bad context include black noisy pixel

south east

reduced context

F(z)- F(c) 4.15

5.69

Voting value7.73

Bad context include white noisy pixel

north west south west

south

F(z)- F(c)

reduced context

5.41 5.51 1.79Voting value

18.30

3.58

Page 43: Adaptive Filtering of Raster Map Images

Voting Image (cont.)

voting image

NoisyOriginal

Page 44: Adaptive Filtering of Raster Map Images

Voting Image (cont.)

voting image noisy image

Page 45: Adaptive Filtering of Raster Map Images

Adaptive Context Selection

If contexts are not good context, pixels with low voting value are selected to construct new adaptive context.

Page 46: Adaptive Filtering of Raster Map Images

Filtering Result for Impulsive Noise

Original Noisy

Iteration 1 Iteration 2

DUDE Proposed

Noisy pixels with contaminated contexts are filtered correctly by optimal context selection

Page 47: Adaptive Filtering of Raster Map Images

Conclusions

Adaptive context selection via a voting-based noise estimation scheme

Can process raster map images distorted by impulsive noise, additive Gaussian noise or mixture Gaussian-impulsive noise

Extension for optimizing the context selection for denoising gray-scale image, e.g. voting-based method to optimize the weighting coefficient in NLM, PLOW, K-SVD.

Page 48: Adaptive Filtering of Raster Map Images

Related Paper

M. Chen, M. Xu and P. Fränti, "Multi-layer filtering approach for map images", IEEE Int. Conf. on Image Processing (ICIP'09), Cairo, Egypt, 3953-3956, 2009.M. Chen, M. Xu and P. Fränti, "Statistical filtering of raster map images", IEEE Int. Conf. on Multimedia & Expo (ICME'10), Singapore, 394-399, 2010. (oral)M. Chen, M. Xu, P. Fränti, "Adaptive Context-tree based Statistical Filtering of Raster Map Images Denoising", IEEE Trans. on Multimedia, 16(3), 1195-1207, 2011.M. Chen, M. Xu, P. Fränti, "Adaptive Filtering of Raster Map Images Using Optimal Context Selection", IEEE Int. Conf. on Image Processing (ICIP’11), 77-80, Brussels, Belgium, 2011.(oral)