580 likes | 762 Views
Theoretical Issues of Searching Aerial Photographs: a bird's eye view. Amihood Amir. Bar-Ilan University and Georgia Tech. UWSL 2006. Issues of Concern:. Local Errors: - Occlusion - Transmission and resolution - Details Scaling Rotation Integration of all above issues.
E N D
Theoretical Issues of Searching Aerial Photographs: a bird's eye view Amihood Amir Bar-Ilan University and Georgia Tech UWSL 2006
Issues of Concern: • Local Errors: - Occlusion - Transmission and resolution - Details • Scaling • Rotation • Integration of all above issues
Some History… • String Matching – motivated by text editing. over alphabet
Bird-Baker Algorithm (1976) • Time: for bounded fixed alphabets. for infinite alphabets. • Technique: linearization.
Linearization • Concatenate rows of Text (or pattern) and use string matching tools. • In this case – The Aho and Corasick algorithm.
Another linearization-pad with “don’t cares” m n-m Time: Fischer-Paterson (1972)
Advantages and Disadvantages of Model • Pros:Can use known techniques. • Cons: - Complexity degradation (e.g. extra log factor in exact matching). - Inherent difficulties in definitions (will be addressed later).
First Truly 2d Algorithm – The Dueling Method (A-Benson- Farach 1991) Idea: Assume the situation is: All potential pattern “starts” agree on overlap. A i.e. all want to see the same symbol in every text location.
Dueling Method … • Time for checking every text element’s correctness: linear. • Every candidate with incorrect element in its range is eliminated. • Method: The “wave”. • Total Time:
Dueling Method… How do we arrange for candidates to agree on overlap? –duel! When there is conflict between two candidates, a single text check eliminates at least one candidate. The text location can be pre-computed because of transitivity. The dueling phase is thus linear time. A A A A A A A A A A A A A A A A A A A A A A A A A V A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A V A A A A A A A A A A A A A A A A
Discrete Scaling(A-Landau- Vishkin 1990) In our limited model, the meaning of scaling is “blowing up” a symbol. Example: scaling a symbol A by 3, means a 3x3 matrix A A A A A A A A A X X X X X X X X X X X X X X O O X X X X O O X X X X X X X X X X X X X X X X X X O X X X X Scaling the matrix by 2 gives:
Scaled Occurrences of Pattern in Text: X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X O O X X X X X X X X X X X X X X X X O O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O O O X X X X X X X X X X X X X X X O O O X X X X X X X X X X X X X X X O O O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Scale 1 Scale 2 Scale 3 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O O O X X X X X X O O O X X X X X X O O O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X O O X X X X O O X X X X X X X X X X X X X X
Discrete Scaling Algorithms • A-Landau-Vishkin 90: Can find all discrete scales of pattern in linear time (alphabet dependent). • A-Calinescu 94: Alphabet independent and dictionary linear-time discrete scaling algorithm.
Tools used: • For comparing substrings in constant time: Suffix trees and LCA or Weiner 1973, Harel-Tarjan 1984 Suffix arrays and LCP. Kärkkäinen-Sanders 2003 • For computing number of sub-row repetitions in constant time: Range-Minimum queries. Gabow-Bentley-Tarjan 1984
How is it used? Do LCA query to find out that the orange line occurs here How many times does this line repeat? How is this done?
Construct an array of numbers where every location is the length of the LCP of this row and the next 0kkkkkkkkk00 To make sure that the orange line appears in this range, the minimum number in this range has to be greater than k.
How do we know what scale the orange line has? • Run-length compression. • Find the symbol part, then the repetition factor. This idea led to the compressed matching paradigm… AAABBCCCCDAAAABBBBBBCA 3 2 4 1 4 6 1 1 A B C DA B CA
Compressed Matching • Suppose the text (and pattern?) are compressed. Examples: run-length of rows (fax). LZ78 of rows (gif). • Find pattern in text without decompressing. A-Benson 92, A-Benson-Farach 94, A-Landau-Sokol 03(x2) This led to a decade of work in the stringology and data compression community.
Compressed Matching(very partial list from citeseer…) • Pattern Matching in Compressed Raster Images -Pajarola,Widmayer (1996) • Direct Pattern Matching on Compressed Text - de Moura, Navarro, Ziviani (1998) • A General Practical Approach to Pattern Matching over.. - Navarro, Raffinot (1998) • Randomized Efficient Algorithms for Compressed Strings: the.. - Gasieniec, al. (1996) • Approximate String Matching over Ziv-Lempel Compressed Text - Kärkkäinen, Navarro, Ukkonen (2000) • Pattern Matching Machine for Text Compressed Using Finite State.. - Takeda (1997) • …
Model Deficiencies. • How do we scale to non-discrete sizes? (e.g. 1.35) • How do we model rotations?
A Model of Digitization(Landau-Vishkin 1994) “Real-Life” resolution is fine enough to be assumed continuous. This is dealt with by a discrete sampling of space done by, e.g. the camera. “Real life” Digitized sample
Rotation(Fredriksson-Ukkonen 1998) • Consider the text as a grid of pixels, each having a color. • Consider the pattern as an m x m grid of pixels with colors. • Assume the center of every pattern pixel has a “hole”. • Lay the pattern grid on the text, with the center declared the “rotation pivot”.
7 6 5 4 3 2 1 0 T[1,1] T[1,2] T[1,3] T[2,1] T[2,2] T[2,3] T[3,1] T[3,2] T[3,3] 7 6 5 4 3 2 1 0 T[5,4] T[7,7] 7x7 text
4 3 2 1 0 4 3 2 1 0 4x4 pattern The rotation pivot
7 6 5 4 3 2 1 0 8 7 6 5 4 3 2 1 0 8 4x4 pattern over 8x8 text in location 45O
7 6 5 4 3 2 1 0 8 7 6 5 4 3 2 1 0 8
7 6 5 4 3 2 1 0 8 7 6 5 4 3 2 1 0 8
7 6 5 4 3 2 1 0 8 7 6 5 4 3 2 1 0 8
7 6 5 4 3 2 1 0 8 7 6 5 4 3 2 1 0 8
7 6 5 4 3 2 1 0 8 7 6 5 4 3 2 1 0 8
Rotated Matching Algorithms • Fredrikkson-Ukkonen 1998: Filter. Good expected time. worst case. • Fredrikkson-Navarro-Ukkonen 2000: • A-Butman-Crochemore-Landau-Schaps 2004: Proved that output size is • A-Kapah-Tsur 2004:
A Taste of handlingRotations Naïve Idea: Try all possible rotated patterns. Examples: o o o Original 19 rotation 21 rotation 26 rotation
ProposedSolution • Every rotated pattern can be found in the text using FFT in time • If there are N rotated patterns the total time is N • WhatisN?
Upper Bound • There are pixels. • Each pixel center crosses at most grid lines. • Therefore there are different rotated patterns.
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 O -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 O -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 O -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 O -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
Lower Bound Could many points cross a gridline together? We will show: Lower Bound: Restriction: We consider only points in set P defined as follows.
Our Subset of Consideration: P is a subset of pattern coordinates Such that: 1) The coordinates are in quadrant I 2) The coordinates are only the points (x,y) where x and y are co-prime I
Key Lemma(A-Butman-Crochemore-Landau- Schaps 2003) it is impossible that and cross a grid line at the same rotation angle.
X2 X1 Y1 Y2 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 Z O -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
How does it help? Theorem (Geometry): i.e.
Consider Schematically: shaded area. In shaded area there are points. So in there are at least points, i.e. points.
Each of the points in (the yellow area) crosses the grid times and no two of them cross together. Conclude: There are different rotated patterns.