Vectorization in Graphics Recognition: To Thin or not to Thin Karl - - PowerPoint PPT Presentation

vectorization in graphics recognition to thin or not to
SMART_READER_LITE
LIVE PREVIEW

Vectorization in Graphics Recognition: To Thin or not to Thin Karl - - PowerPoint PPT Presentation

' $ Vectorization in Graphics Recognition: To Thin or not to Thin Karl Tombre and Salvatore Tabbone September 2000 & % ' $ To Thin or not to Thin Graphics recognition Graphics recognition Analysis of graphics-intensive documents


slide-1
SLIDE 1 ' & $ %

Vectorization in Graphics Recognition: To Thin or not to Thin

Karl Tombre and Salvatore Tabbone September 2000

slide-2
SLIDE 2

To Thin or not to Thin Graphics recognition

' & $ %

Graphics recognition

Analysis of graphics-intensive documents Main feature = the vector ⇒ raster-to-vector conversion plays a central rôle

Karl Tombre 1

slide-3
SLIDE 3

To Thin or not to Thin Graphics recognition

' & $ %
  • Choice of vectorization method

Compute a medial axis or not?

➥ medial axis computations are classical for image processing

people

➥ skeletons often used ➥ faithful representation of binary shape = retrieve actual thoughts

  • f draftsman

➥ Special problems with junctions and line extremities

Karl Tombre 2

slide-4
SLIDE 4

To Thin or not to Thin Graphics recognition

' & $ %
  • The steps of vectorization

Find the lines ←

➋ Approximate the lines into vectors ➥ Rosin & West split and merge ➥ Wall & Danielsson iterative ➌

Add contextual information

➍ Dashed-line detection ➎ Arc detection → poster presented yesterday

Karl Tombre 3

slide-5
SLIDE 5

To Thin or not to Thin Finding the lines

' & $ %

Finding the lines

From raster image to lines (chains of pixels) → significant medial axes

➊ Compute the skeleton

  • iterative thinning
  • distance transform

Match the opposite sides of the line

➌ Sparse-pixel approaches

Karl Tombre 4

slide-6
SLIDE 6

To Thin or not to Thin Skeletonization

' & $ %

Skeletonization

Iterative thinning : “peeling an onion”

⌣ small image buffer size ⌢ multiple passes, sensitive to noise

Karl Tombre 5

slide-7
SLIDE 7

To Thin or not to Thin Skeletonization

' & $ %

Distance transform : 3–4 DT [Sanniti di Baja] V2 V3 V4 V1 X V5 V8 V7 V6

Pass 1 : Y = min(V1 + 3, V2 + 4, V3 + 3, V4 + 4) Pass 2 : Z = min(Y, V5 +3, V6 +4, V7 +3, V8 +4)

  • Detection of local maxima
  • Tracking the skeleton
  • Reduce to thickness 1
  • Barb removal

→ good compromise w.r.t. precision, simplicity and robustness

Karl Tombre 6

slide-8
SLIDE 8

To Thin or not to Thin Skeletonization

' & $ %
  • Linking the skeleton

1 3 2 4

Karl Tombre 7

slide-9
SLIDE 9

To Thin or not to Thin Skeletonization

' & $ %
  • Main weakness

Skeletonization displaces junction points Original image Polygonal approximation of 2–3 skeleton

Karl Tombre 8

slide-10
SLIDE 10

To Thin or not to Thin Matching opposite contours

' & $ %

Matching opposite contours

REDRAW: polygonal approximation of connected components contours, and match segments

junction point

Problems: thresholds, one-to-many and many-to-many matches

Karl Tombre 9

slide-11
SLIDE 11

To Thin or not to Thin Matching opposite contours

' & $ %
  • Improvement: use the gradient orientation

Gradient vector (Canny operator) perpendicular to contour ⇒ dense and robuste matching of each contour point in the direction of the gradient Contour detection “Skeleton” obtained by dense matching

Karl Tombre 10

slide-12
SLIDE 12

To Thin or not to Thin Matching opposite contours

' & $ %
  • The steps of vectorization

Find the lines

➋ Approximate the lines into vectors ➥ Rosin & West split and merge ➥ Wall & Danielsson iterative ➌

Add contextual information ←

➍ Dashed-line detection ➎ Arc detection → poster presented yesterday

Karl Tombre 11

slide-13
SLIDE 13

To Thin or not to Thin Contextual information

' & $ %

Contextual information

Add domain knowledge

✓ specific documents → ad hoc vectorization (e.g. [Chhabra]) ✓ heuristic correction → adds new thresholds and parameters ✓ add constraints [Röösli & Monagan] ✓ optimize junction position through iterative fitting [Janssen] ✓ introduce models of ideal junctions (T, L, Y . . . ) and correct by

fitting

Karl Tombre 12

slide-14
SLIDE 14

To Thin or not to Thin Contextual information

' & $ %
  • Knowing what you look for

The case of architectural drawings: looking for the walls Dense contour-matching followed by search for horizontal and vertical rectangles Reconstructed rectangles Medial axes of rectangles

Karl Tombre 13

slide-15
SLIDE 15

To Thin or not to Thin Discussion

' & $ %

Discussion ➥ Contour-matching + contextual information yield good results... ➥ ... but in general case, contextual information not exhaustive ➥ Skeletonization is generic and robust, but yields weak junctions ➥ skeleton: emphasizes distance criterion ➥ dense matching: emphasizes direction criterion

Karl Tombre 14

slide-16
SLIDE 16

To Thin or not to Thin Discussion

' & $ %
  • A possible solution

Three-step vectorization under study:

➥ first crude vectorization to segment a drawing into pieces having

same direction

➥ directional distance transforms on each piece ➥ junction models for better precision at intersections

Karl Tombre 15

slide-17
SLIDE 17

To Thin or not to Thin Conclusion

' & $ %

Conclusion ✓ Skeletons still most general and generic ✓ Junctions and extremities still not satisfactory ✓ Combine directional and distance criteria ✓ Keep an eye on emerging methods (Markov Random Fields, ...)

Karl Tombre 16