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 ID: 815145
Download The PPT/PDF document "Adaptive Filtering of Raster Map Images" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Adaptive Filtering of Raster Map Images
Minjie Chen*, Mantao Xu and Pasi Fränti
Speech and Image Processing Unit (SIPU)School of ComputingUniversity of Eastern Finland, FINLAND
Slide2Raster Map Images
Topographic or road maps Few colors Detailed spatial structures
Slide3Filtering of Raster Map Images
RequirementNo over-smooth, remain readableNumber of colors does not increasePreserve spatial structuresNoise Model
Impulsive NoiseGaussian NoiseOriginal: 4 colorsScanning Image:11063 colorsQuantized Image:4 colors
Slide4Existing 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) images Complicated spatial structures in the map will be destroyed
Slide5Multi-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 imageStep 1: Divide color image into Multi-Layer binary imagesStep 2: Filter binary layers separately
Step 3: Layer ordering decisionStep 4: Merge the filtered layers
Slide6Layer separating
Filter each layer
Merging step with global color priority
Example of Multi-Layer Method(Global Color Priority)
Slide7Step 3: Layer ordering (cont.)
Global criterion : select colors according to their frequency
Lowest priority is used as background colorPRIORITY HighestPriority618416 230020 173358 22975 3458 349Same color priority for whole imageNo difference for different regions
Slide8Step 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
Slide9Merging with local color priority
Example of Multi-Layer Method(Local Color Priority)
Slide10Algorithm for color priority decision
Step 3.1: Dilation and fill holesProcess each color layer by soft morphological dilation and filling holes operations.Large blocks regions are possible background regions.
Slide11After dilation and filling holes
Slide12Algorithm for color priority
decisionStep 3.2: Evaluate preliminary segmentsRegion labeling labels connected pixels
After 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
Slide13Example of Step 3.2
Preliminary segments
SegmentSize1
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
Slide14Algorithm for color priority decision
Step 3.3 Background fillingEvaluate 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
Slide15Algorithm for color priority decision
Step 3.3 Background fillingTwo features used for validating if it is background segment
Feature 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)
Algorithm for color priority decision
Step 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 segmentRegion 2: Overlap percentage 97% (NOT ADDED)
Region 1: Overlap percentage 0% (ADDED)
Already labeled region 1
Blank Background
Slide17Fill block 1
S1/S2
PoADD(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.
Slide18Algorithm for color priority decision
Step 3.4 Process unlabeled regionLarge unfilled regions ---- set as small background region.
Small unfilled region ---- merge it to the nearest background.Set as small background regionMerge to the nearest background
After processing
Slide19Step
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
Slide20More examples of background image
Slide21Result - impulsive noise
Slide22Conclusion 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
Slide23Statistical
Filtering (Chen et al. ICME’10, IEEE TMM’ 11) Colors with low conditional probability will be replaced by the dominated colorFrequency
FrequencyX
X
Frequency
409
3
4
5
9
Frequency
2
2
193
3
6
Context Template
Slide24Example 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 memoryTime 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 23676N=128 35847 N=64 54736 N=32 82260
Slide25Context 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 mergingNoisy pixelMost consistent sub-context
Slide26Filtering 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”:This decision rule is designed for the count statistics collected on the noisy image. For a clean image, the decision rule is
Slide27Extension for Gaussian
NoiseIterative 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
m
i
= (m
i(
r
),
m
i
(
g
),
m
i
(
b
))
,
y
x
=
(
r
x
,
g
x
,
b
x
) the color intensity of
x
in RGB space.
Input: Y
X,
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-For
Output:
Y, X, CP.
General Scheme for filtering Gaussian noise
(1)
(2)
(3)
Slide28Filtering Example
Noisy image
Quantized imageFiltering after 1 iteration Filtering after 5 iterations
Slide29Experiments under Different Noise Level
δ = 0.05
Error rate (%)AVMPGF
CT
DUDE
ACS
Set#1
8.65
1.40
1.04
0.94
0.65
Set#2
4.19
1.26
0.99
0.99
0.78
Set#3
11.8
3.26
2.41
2.09
1.59
Set#4
6.55
1.21
1.42
1.34
0.82
Set#5
9.27
6.02
4.36
2.66
2.02
σ =25
PSNR
GSM
NLM
BM3D
ARF
ACS
Set#1
24.4
24.9
26.2
24.2
47.1
Set#2
24.0
23.5
26.5
23.3
59.2
Set#3
23.7
22.4
23.7
23.0
27.0
Set#4
24.6
24.1
25.5
23.8
33.4
Set#5
25.1
24.3
26.1
25.1
27.7
Slide30Visual Examples
Slide31Summary
Statistical filtering for raster map imagesCan process images distorted by impulsive noise, additive Gaussian noise and mixture Gaussian-impulsive noiseBoth color distribution in RGB space and the conditional probabilities of local context are considered
Slide32Optimize 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
Slide33Measuring Goodness Score of Context
identify
good or bad context by top-down tracing from the root of tree.
Slide34Example of pixel with
good Context and bad Context in the Map
OriginalNoisyOriginalNoisyNoisy pixel with bad context
Noisy pixel with
bad
context can not filter correctly.
Can we use bad context for noise estimation?
Slide35Detect Noisy Pixel by
bad ContextBad 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.
Slide36Voting Image (cont.)
F(z)- F(c)
-0.392.295.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
+
Slide37Voting Image (cont.)
F(z)- F(c)
1.39-1.24-1.333.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
+
Slide38Voting Image (cont.)
F(z)- F(c)
-0.625.691.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
+
Slide39Voting Image (cont.)
F(z)- F(c)
4.15-2.86-2.322.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
Slide40Voting Image (cont.)
F(z)- F(c)
-2.023.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
Slide41Voting Image (cont.)
F(z)- F(c)
1.791.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
Slide42Voting Image (cont.)
Bad context include black noisy pixel
southeastreduced contextF(z)- F(c)4.155.69Voting value7.73Bad
context include white noisy pixel
north
west
south west
south
F(z)- F(c)
reduced context
5.41
5.51
1.79
Voting value
18.30
3.58
Slide43Voting Image (cont.)
voting image
NoisyOriginal
Slide44Voting Image (cont.)
voting image noisy image
Slide45Adaptive Context Selection
If contexts are not good context, pixels with low voting value are selected to construct new adaptive context.
Slide46Filtering Result for Impulsive Noise
OriginalNoisy
Iteration 1Iteration 2DUDEProposedNoisy pixels with contaminated contexts are filtered correctly by optimal context selection
Slide47Conclusions
Adaptive context selection via a voting-based noise estimation schemeCan process raster map images distorted by impulsive noise, additive Gaussian noise or mixture Gaussian-impulsive noiseExtension 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.
Slide48Related 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)