Efficient algorithms for polygonal approximation DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF JOENSUU JOENSUU, FINLAND Efficient algorithms for polygonal approximation Alexander Kolesnikov
Polygonal approximation of discrete curves qr+1 Q qr P q1 qM Given the N-vertex polygonal curve P. a) Min-e problem: Given the number of line segments M, approximate the curve P by polygonal curve Q with minimum error E(P). b) Min-# problem: given bound on approximation error, approximate curve P by polygonal curve Q with minimum number of line segments.
Examples of polygonal approximation Vectorization Image analysis Digital cartography 3-D paths
Optimal vs. Heuristic algorithms Heuristic approaches 1) Sequential tracing approach 2) Split method 3) Merge method 4) Split-and-Merge method 5) Dominant point detection 6) Relaxation labeling 7) K-means method 8) Genetic algorithm 9) Ant colony optimization method 10) Tabu search 11) Discrete particle swarm algorithm 12) Vertex adjustment method Optimal methods 1) Min-# problem: Shortest path in graph 2) Min- problem: K-link shortest path in graph
Min- problem: Optimal vs. Heuristic Heuristic algorithms Non-optimal: F<100% Fast: O(N)O(N2) (seconds and less) Optimal algorithm Optimal: F=100% Slow: O(N2)O(N3) (minutes and more)
Heuristic Efficient Optimal Heuristic algorithms Non-optimal: F<100% Fast: O(N)O(N2) (seconds and less) Optimal algorithm Optimal: F=100% Slow: O(N2)O(N3) (minutes and more) Efficent algorithm Fast: O(N)O(N2) Close to optimal: F100%
Contents A) Min- problem for open curves B) Min- problem for closed curves C) Min- problem for multiple-objects
A) Min- problem for open curve qr+1 qr q1 qM Approximate the given open N-vertex polygonal curve P by another one Q consisting of at most M line segments with minimum error E(P):
A) L2-approximation error for a segment Approximation error for curve segment (pi,...,pj) :
A) Full search in state space Goal state: D(N,M) M b State space m D(n,m) D(j,m-1) e2(j,n) 1 Start state 1 j n N Complexity: O(MN2)
A) Reduced search in state space The reference solution. The bounding corridor.
A) Iterative reduced search DP algorithm W=10 M=300 Time complexity: O(W2N2/M) Spce complexity: O(WN)
A) Iterative reduced search DP algorithm W=10 M=300 a) Fidelity: F 100% b) Complexity: O(W2N2/M) =O(N)-O(N2) c) Time reducing: (W/M)2 The trade-off between the run time and optimality is regulated by the corridor width and the number of iterations.
B) Min- problem for closed curve p1=pN Approximate the given closed N-vertex polygonal curve P by another one Q consisting of at most M line segments with minimum error E(P). Full search DP algorithm complexity: O(MN3)
B) State space for wrapped DP search
B) Closed curves: Analysis of state space G HG(m) - optimal path for G Conjugate states: HG(m-M) = HG(m) – (N-1); nstart=arg min {D(HG(m),m) D(HG(m-M), m-M)} –(N-1); Mm2M
B) Min- path with conjugate states is old start point is new start point
B) Closed curves: Results Heuristic algorithm: Fidelity F=88-100% T=100 s Proposed algorithm: Fidelity F=100% T=10.4 s.
C) Multi-object min- problem Given K polygonal curves P1, P2, …,PK, approximate it by set of K another polygonal curves Q1, Q2 ,…, QK with a given total number of segments M.
C) Multi-object min- problem (cont’d) Given K polygonal curves P1, P2, …,PK, approximate it by set of K another polygonal curves Q1, Q2 ,…, QK with a given total number of segments M so that the total approximation error with measure L2 is minimized. subject to:
C) Full-search DP algorithm Step 1: Solve optimal approximation problem for every object by DP to obtain the Rate-Distortion functions {gk(m)}; Step 2: Solve problem of the optimal allocation of the number of segments among objects by DP using the Rate-Distortion functions {gk(m)}; Step 3: Re-solve the optimal approximation problem of every object using the found optimal number of segments. Time complexity: O(N3) Space complexity: O(N2) Vector map: N = 10,000-100,000
Iterative reduced search for multi-object min- problem Step 1: Find preliminary approximation of every object for an initial number of segments. Step 2: Iterate the following: a) Apply multiple-goal reduced search DP to define the Rate-Distortion functions. b) Solve the optimal allocation of the found number of the segments among the objects using the Rate-Distortion functions.
C) Full vs. Iterative reduced DP search Reduced Full Search Fidelity F 100% 100% Time complexity O(N)-O(N2) O(N3) Space complexity O(NW) O(N2) The trade-off between the run time and optimality is regulated by the corridor width W and the number of iterations.
Summary A) Iterative Reduced search DP algorithm for min- problem open curve B) DP algorithm for min- problem for closed curve C) DP algorithm for min- problem fom multiple-objects