quadtrees, octrees and their applications in digital image processing

Post on 18-Dec-2015

237 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Quadtrees, Quadtrees, Octrees and their Octrees and their Applications in Applications in Digital Image Digital Image ProcessingProcessing

Hierarchical Data Structures for Hierarchical Data Structures for Computer Vision and Image Computer Vision and Image

ProcessingProcessing

Definition of pyramids

Explanation of Quadtrees and Octrees

Techniques used for generation

Applications

What is a pyramid?What is a pyramid?

A(0)

A(1)

A(2)2 2 * 2 2

2 1 * 2 1

Pyramid is a sequence of arrays

2 2 * 2 2

2 1 * 2 1

2 0 * 2 0

Example of a four layer Example of a four layer pyramidpyramid

2 3 * 2 3

Layer 3

Example of a four layer Example of a four layer pyramidpyramid

How partitioning is done?How partitioning is done?

1 partitioned to 2 2 = 4

How pyramid is build?How pyramid is build?

•From top to bottom

•From bottom to top

•Always recursively

•Good exercise in recursion and arrays

•Treat image as a Boolean or discrete function, what is the counterpart of these type of recursions?

We will build a pyramid from topWe will build a pyramid from top

For simplicity, dimension = 2

Partitioning at any level i from i-1 can be done by defining a two-dimensional array A(i) for the i-th level

The partitioning The partitioning AlgorithmAlgorithm

Cell (j,k) at level i-1

The partitioning The partitioning AlgorithmAlgorithm

Pyramids are interlinked (for instance by indices) sequences of arrays with hierarchy.

Similarly we can create trees to define this hierarchy

Trees can be more convenient for processing

Pyramids versus treesPyramids versus trees

Types of pyramids: Types of pyramids: quadtree and octreequadtree and octree

Recursive Tree DecompositionRecursive Tree Decomposition

Think how to write this software in Lisp

Construction of the quadtreeConstruction of the quadtree

We get an image represented by a quadtree

Trees can be well manipulated in software, for instance in Lisp

Advantages of the Advantages of the quadtreequadtree

Disadvantages of the Disadvantages of the quadtreequadtree

Structure of an OctreeStructure of an Octree

Octrees are to represent three-dimensional robot environments

Structure of an Structure of an OctreeOctree

Advantages of the Advantages of the OctreesOctrees

Applications of these data structuresApplications of these data structures

•The quadtree, octree and binary tree decomposition methods are widely used in two and three dimension image processing and computer graphics

•Some of the application areas involve:

• the image data structure,

• region representation,

• picture segmentation,

• component labeling,

• image smoothing,

• image enhancement,

• data compression

• Pattern recognition

• Shape analysis

• Image segmentation

• Region matching

• Images can be represented with pyramids and thus, both local and global feature extraction is possible

Applications of these data structuresApplications of these data structures

Application to pattern Application to pattern recognitionrecognition

We want to know where is B located structurally in our image

We got here the structure of our environment

Tree Decomposition in Pattern Tree Decomposition in Pattern ClassificationClassification

Tree decomposition can be used not only in image space but in transform space or feature space

Tree Decomposition in Pattern Tree Decomposition in Pattern ClassificationClassification

Tree Decomposition in Tree Decomposition in Pattern ClassificationPattern Classification

Application of trees to Edge DetectionApplication of trees to Edge Detection•The edge detection task can be accomplished by applying a point-neighborhood operator or the edge detector to every point of a large matrix

•The algorithm for this works as follows:

•An edge detector is applied at each point in the starting level

•At each point, if the value exceeds a threshold, the operation is applied to the descendants of the point in the next finer level.

Starting Starting from topfrom top

Application of trees to Feature DetectionApplication of trees to Feature Detection

Pyramides are used for feature detection

Pyramides are used for feature extraction

Pyramides limit scope of the search

The disadvantage of this method is that the reduction of resolution will affect the visual appearance of edges and small objects

•In particular, at a coarser level of resolution:

• edges tend to get smeared and

•region separation may disappear

Application of trees to Feature Application of trees to Feature DetectionDetection

Extracting compact objects Extracting compact objects using treesusing trees

• Many image analysis tasks require the extraction of compact objects from a background, where

• the shapes of the desired objects are not known,

• except for the fact that they are compactcompact

• Image segmentation using pyramids can be applied to extract such objects.

• “Spot detectors” are applied to image at each level of the pyramid:

• this is equivalent to applying spot detectors of many sizes to full-resolution image

Extracting compact Extracting compact objects using treesobjects using trees

•Three sets of information are represented in the pyramid structure

•1. Gray level

•2. Edge magnitude and direction

•3. Surroundedness

•The interaction between the different types of information at each level of the pyramid leads to the final segmentation

Extracting compact objects using Extracting compact objects using treestrees

Using Quadtrees to Smooth ImagesUsing Quadtrees to Smooth Images

• Digital images usually contain noise of various kindsnoise of various kinds.

• Most image processing tasks are simplified if noise is removed

•A general approach to noise removal is to smooth the image

• SmoothingSmoothing is done by replacing each pixel value by a new value which is a function of the values in some neighborhood of the pixel.

Using Quadtrees to Smooth Using Quadtrees to Smooth ImagesImages

Method 1

Method 2See next slides

Using Quadtrees to Smooth Using Quadtrees to Smooth ImagesImages

Using Quadtrees to Smooth ImagesUsing Quadtrees to Smooth Images

Using Quadtrees to Smooth ImagesUsing Quadtrees to Smooth ImagesUsing Quadtrees to Smooth Images

Smoothing becomes hierarchical in trees

Using Quadtrees to Smooth Images

Method 2Method 21. Constructs a quadtree from an image

2. Replaces each pixel by the gray level of the leaf to which each corresponds

Using Quadtrees to Smooth Using Quadtrees to Smooth ImagesImages

Hierarchical Coding of Binary Images Hierarchical Coding of Binary Images using treesusing trees

Hierarchical Coding = to segment a picture into the largest possible uniform areas and to transmit a hierarchical representation of these areas.

Quadtrees can be used for coding

Pictures with large uniform areas can be highly compressed

The transmission result can be recreated by the receiver as soon as sufficient information about transmitted picture has been gathered

Hierarchical Coding of Binary Images Hierarchical Coding of Binary Images using treesusing trees

Quadtree CompressionQuadtree Compression

1 2

3 4

w w

W=white

B=black

G = goto ground

Second level

Hierarchical Coding of Hierarchical Coding of Binary ImagesBinary Images

GGGWWBBWBWGWGWWWBBWWW

•A bit assignment can be selected for the symbols

•The coding can also be extended to three dimensions with the use of octrees

Hierarchical Coding of Hierarchical Coding of Binary ImagesBinary Images

Problems to solve:Problems to solve:•Use pyramide for edge detection

•Treat a large (12 variables) Karnaugh Map as an image. What is the counterpart of Shannon Decomposition in terms of binary trees?

•Generalize to 4-valued logic and show link to quadtrees

•Generalize to 8-valued logic and show link to octrees

•Disscuss general links between discrete functions, images and compression methods.

•Use octree to represent the space for robot manipulator

•Use this space description to plan precise assembling operations.

Problems to solve:Problems to solve:

ReferencesReferences

ReferencesReferences

ReferencesReferences

ReferencesReferences

top related