WATERSHED TRANSFORMATION - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

WATERSHED TRANSFORMATION

Description:

Typically used to locate objects and boundaries (lines, curves, etc.) in images. ... International Conference on Field Programmable Logic and Applications, 2006 ... – PowerPoint PPT presentation

Number of Views:2063
Avg rating:5.0/5.0
Slides: 36
Provided by: lens7
Category:

less

Transcript and Presenter's Notes

Title: WATERSHED TRANSFORMATION


1
WATERSHED TRANSFORMATION
  • M.SACHIDANAND
  • October 15th,2007

2
Image Segmentation
  • Process of partitioning a digital image into
    multiple regions (sets of pixels)
  • Simplify and/or change the representation of an
    image into something that is more meaningful and
    easier to analyze.
  • Typically used to locate objects and boundaries
    (lines, curves, etc.) in images.

3
WATERSHED TRANSFORMATION
  • Image data may be interpreted as a topographic
    surface where the gradient image gray-levels
    represent altitudes.
  • Region edges correspond to high watersheds and
    low-gradient region interiors correspond to
    catchment basins.

4
WATERSHED TRANSFORMATION
  • Catchment basins of the topographic surface are
    homogeneous in the sense that all pixels
    belonging to the same catchment basin are
    connected with the basin's region of minimum
    altitude (gray-level) by a simple path of pixels
    that have monotonically decreasing altitude
    (gray-level) along the path.
  • Such catchment basins then represent the regions
    of the segmented image.

Original Image
Watershed Segmented Image
5
Watershed Based Image Segmentation Procedure
6
APPLICATIONS
  • Medical Imaging
  • Semiconductor Technology
  • Traffic Monitoring
  • Face Recognition
  • Identifying Fractures in Steel

Coffee Beans Separation
7
Pattern Recognition Letters 26 (2005) 12661274
  • A fast watershed algorithm based on chain code
    and its application in image segmentation
  • -Han Sun , Jingyu Yang, Mingwu Ren

8
ABSTRACT
  • A new Watershed Transformation Algorithm based on
    chain code.
  • Complexity of the proposed algorithm is
    discussed.
  • Experiment results are shown to prove that the
    presented algorithm runs fast.

9
CHAIN CODES
  • A chain code is a more concise way of
    representing a list of points than a simple
    (x1,y1),(x2,y2) ..... .
  • A chain code describes the boundary as a series
    of one pixel vector transitions at different
    orientations only the starting point is defined
    explicitly.
  • Chain code is thought as representing the contour
    of the image.
  • Each code can be considered as the angular
    direction, in multiples of 45deg., that we must
    move to go from one contour pixel to the next.

10
CHAIN CODES
11
Definitions for chain code basedWatershed
Transformation
  • Point-out chain code is the directional code that
    current pixel points to.
  • 2) Point-in chain code is the directional code
    that neighbor pixel points to.

12
Steps involved in the Algorithm
  • Step-A For each pixel in a given image, its
    lowest neighborhood is detected.

13
Steps involved in the Algorithm
  • 2) Step-B For each pixel on plateaus, if one
    of its neighbors points somewhere (lower
    plateau), the pixel points the neighbor.
  • Repeating this procedure using a FIFO, pixels on
    plateaus point one of their lower plateaus. The
    FIFO is used to divide plateaus evenly according
    to the distances from their lower plateaus.

14
Steps involved in the Algorithm
  • 3) Step-C For each pixel which points, a unique
    label is given. Then, its neighbor pixels on the
    same plateau point the pixel. By repeating this
    procedure, all pixels on the plateau points the
    pixel directly or indirectly.
  • 4) Step-D Pointers for all pixels are
    dereferenced, and labels are given to all pixels.

15
EXPERIMENTS AND RESULTS
  • Watershed transformation and region merging
    (brain)
  • (a) brain (388 395)
  • (b) gradient image, m 3
  • (c) watershed results(6227 regions)
  • (d) merging results (11 regions).

16
EXPERIMENTS AND RESULTS
  • Watershed transformation and region merging
    (blood)
  • (a) blood (272 265)
  • (b) gradient image, m 3
  • (c) watershed results(1644 regions)
  • (d) merging results (27 regions).

17
Performance Analysis on Pentium IV 2.4 GHz CPU
  • The above 3 algorithms produce the same number of
    regions, hence identical in function.
  • Algorithm BM and new(chain code) algorithms are
    faster.

18
IMPLEMENTATION OF A PARALLEL AND PIPELINED
WATERSHED ALGORITHM ON FPGA -Dang Ba Khac
Trieu and Tsutomu Maruyama
International Conference on Field Programmable
Logic and Applications, 2006
19
ABSTRACT
  • Implementation of a parallel and pipelined
    watershed algorithm on FPGA.
  • Implemented on XC2V6000 and up to 32 pixels are
    processed in parallel.
  • The performance for 512 x 512 pixel images is
    found to be about 3 - 4 msec, which is fast
    enough for real-time applications.

20
4 Basic Steps in this process
  • A given image is divided to K regions.
  • Several of them are cached on the FPGA.
  • The watershed algorithm is applied on those
    regions.
  • 4) The next (or previous) region is loaded to the
    FPGA during the computation to hide the loading
    time.

21
PIPELINED AND PARALLEL ALGORITHM
  • 1) Two arrays are used.
  • 2) One array to store labels. Another to divide
    non-minima plateaus evenly.
  • 3) Repetitive sequential scanning of pixels from
    top-left to bottom-right and vice-versa.
  • 4) Repetition is finished when no values of array
    are modified in the current scanning.

22
Pseudocode
23
Steps-1 and 2 in Algorithm
24
Steps-1 and 2 in Algorithm
25
Step-3 in Algorithm
26
Step-3 in Algorithm
27
Step-3 in Algorithm
28
IMPLEMENTATION OF THE ALGORITHM
  • 1) Without Cache Memory on FPGA
  • All data are stored in external Memory Banks.
  • Performance varies with the number of memory
    banks.

29
IMPLEMENTATION OF THE ALGORITHM-Parallel and
Pipelined Processing
  • Four lines are processed in parallel.
  • We need to wait 3 clock cycles before starting
    the computation of the next line.
  • The total clock cycles to processes N lines
    becomes
  • L (N - 1) 3 where L is the pipeline
    depth.

30
IMPLEMENTATION OF THE ALGORITHM
  • 2) With Cache Memory on FPGA
  • A given image is divided to smaller regions along
    x (or y) axis.
  • Algorithm is applied to a region cached in some
    of these cache memory banks.
  • Data for next region is downloaded to another
    cache during this computation

31
IMPLEMENTATION OF THE ALGORITHM Trace of
Computation with Cache on FPGA
32
EXPERIMENTAL RESULTS
  • The algorithm was implemented on ADM-XRC-II
    with one XC2V6000.
  • X or Y of the given image can not be larger
    than 512.
  • Performance of circuit is faster than 30 frame
    per second with one unit.
  • With four units (without cache memory banks),
    the performance
  • can be improved about 3.7 - 3.8 times.

33
EXPERIMENTAL RESULTS
34
LIMITATIONS
  • Performance gain by 32 units over four units is
    limited.
  • Reasons
  • 1) In the approach with cache memory banks, the
    algorithm is applied at least twice to each
    region.
  • 2) Number of back traces is huge.
  • 3) Pipeline overhead is high because of usage of
    32 parallel lines.

35
FUTURE WORK
  • To improve performance gain attained by 32 units
    over four units.
  • - reducing pipeline overhead.
  • - using column optimized scanning.
Write a Comment
User Comments (0)
About PowerShow.com