1 Parallel Algorithms IV Topics: image analysis algorithms.

Slides:



Advertisements
Similar presentations
Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
Advertisements

Lecture 19: Parallel Algorithms
Approximations of points and polygonal chains
Advanced Topics in Algorithms and Data Structures Lecture 7.2, page 1 Merging two upper hulls Suppose, UH ( S 2 ) has s points given in an array according.
2/9/06CS 3343 Analysis of Algorithms1 Convex Hull  Given a set of pins on a pinboard  And a rubber band around them  How does the rubber band look when.
Lecture 3: Parallel Algorithm Design
Sorting Comparison-based algorithm review –You should know most of the algorithms –We will concentrate on their analyses –Special emphasis: Heapsort Lower.
algorithms and data structures
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
C o m p u t i n g C O N V E X H U L L S by Kok Lim Low 10 Nov 1998 COMP Presentation.
Visual C++ Programming: Concepts and Projects
1 Divide-and-Conquer The most-well known algorithm design strategy: 1. Divide instance of problem into two or more smaller instances 2. Solve smaller instances.
Convex Hulls in Two Dimensions Definitions Basic algorithms Gift Wrapping (algorithm of Jarvis ) Graham scan Divide and conquer Convex Hull for line intersections.
CS4413 Divide-and-Conquer
Convex Hulls May Shmuel Wimer Bar Ilan Univ., Eng. Faculty Technion, EE Faculty.
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Advanced Topics in Algorithms and Data Structures Lecture 7.1, page 1 An overview of lecture 7 An optimal parallel algorithm for the 2D convex hull problem,
Computational Geometry
Polygons and the convex hull Prof. Noah Snavely CS1114
Some Basic Morphological Algorithm
5/17/2015 1:32 AMConvex Hull1 obstacle start end.
CS420 lecture six Loops. Time Analysis of loops Often easy: eg bubble sort for i in 1..(n-1) for j in 1..(n-i) if (A[j] > A[j+1) swap(A,j,j+1) 1. loop.
Chapter 5 Raster –based algorithms in CAC. 5.1 area filling algorithm 5.2 distance transformation graph and skeleton graph generation algorithm 5.3 convolution.
Advanced Topics in Algorithms and Data Structures Lecture pg 1 Recursion.
Algorithm An algorithm is a step-by-step set of operations to be performed. Real-life example: a recipe Computer science example: determining the mode.
Advanced Topics in Algorithms and Data Structures An overview of the lecture 2 Models of parallel computation Characteristics of SIMD models Design issue.
Chapter 4 Divide-and-Conquer Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Lecture 3 Chapter 3: 2D Convex Hulls Friday,
1 Lecture 25: Parallel Algorithms II Topics: matrix, graph, and sort algorithms Tuesday presentations:  Each group: 10 minutes  Describe the problem,
Lecture 21: Parallel Algorithms
Computational Geometry Overview from Cormen, et al. Chapter 33
1 Lecture 8 Clipping Viewing transformations Projections.
1 Parallel Algorithms III Topics: graph and sort algorithms.
Convex Hull Computation ● Applications of Convex Hull Computation ● Definitions ● Basic Math Functions ● Algorithms Algorithm Speed Discovered By Brute.
1 Lecture 24: Parallel Algorithms I Topics: sort and matrix algorithms.
Topic 9B – Array Sorting and Searching
Divide and Conquer The most well known algorithm design strategy: 1. Divide instance of problem into two or more smaller instances 2. Solve smaller instances.
1 Chapter 5 Viewing. 2 Perspective Projection 3 Parallel Projection.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2001 Lecture 2 Chapter 2: Polygon Partitioning.
Design and Analysis of Algorithms - Chapter 41 Divide and Conquer The most well known algorithm design strategy: 1. Divide instance of problem into two.
Recap CSC508.
Computer Vision Lecture 5. Clustering: Why and How.
A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 5 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
C o m p u t i n g C O N V E X H U L L S. Presentation Outline 2D Convex Hulls –Definitions and Properties –Approaches: Brute Force Gift Wrapping QuickHull.
Binary Heap.
CS654: Digital Image Analysis Lecture 5: Pixels Relationships.
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Nov 3, 2005.
1 Chapter 6 Queues. 2 Topics FIFO (first0in-first0out) structure Implementations: formula-based and linked classes Applications: –railroad-switching problem.
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
COP 3530 Discussion Session #6 Yilin Shen. Outline Chapter 7 o Q35p 250 o Q39p 265 Chapter 8 o Problem 8.5.3: Rearranging Railroad carsp 289 o Problem.
November 5, 2013Computer Vision Lecture 15: Region Detection 1 Basic Steps for Filtering in the Frequency Domain.
Convex Hull 2012/10/23. Convex vs. Concave A polygon P is convex if for every pair of points x and y in P, the line xy is also in P; otherwise, it is.
CS6234 Advanced Algorithms - Convex hull. Terminologies – ◦ Convex hull of a set Q of points is the smallest convex polygon P for which each point in.
Relationship between pixels Neighbors of a pixel – 4-neighbors (N,S,W,E pixels) == N 4 (p). A pixel p at coordinates (x,y) has four horizontal and vertical.
Lecture 5 Graph Theory prepped by Lecturer ahmed AL tememe 1.
Image Sampling and Quantization
Lecture 3: Parallel Algorithm Design
2.6 Solving Systems of Linear Inequalities
Computer Vision Lecture 13: Image Segmentation III
Convex Hull R.L. Graham’s Algorithm Computer Graphics.
Fill Area Algorithms Jan
Computer Vision Lecture 12: Image Segmentation II
CSCE350 Algorithms and Data Structure
Algorithm design techniques Dr. M. Gavrilova
Lecture 22: Parallel Algorithms
Convex Hull obstacle start end 11/21/2018 4:05 AM Convex Hull
Computational Geometry (35/33)
Computational Geometry Capter:1-2.1
Rasterizing Lines 1 Lecture 32 Mon, Nov 12, 2007.
Convex Hull obstacle start end 4/30/2019 5:21 PM Convex Hull
Presentation transcript:

1 Parallel Algorithms IV Topics: image analysis algorithms

2 Component Labeling Given a 2d array of N pixels holding 0 or 1, assign labels to all 1-pixels so that connected pixels have the same label Trivial algorithm: assign the co-ordinates of each pixel as its label and repeatedly re-label contiguous pixels by the smaller co-ordinate until no re-labeling occurs Execution time: O(N)

3 Worst-Case Execution Time

4 Recursive Algorithm

5 Example

6 Complexity Analysis Let T(m) be the run-time of the algorithm on an m x m array. Let the run-time of phases 2 and 3 be cm T(m) = cm + T(m/2) Therefore, T(m) = 2cm = O(sqrt(N)) Executing phases 2 and 3 in O(m) time steps:  There are totally m different labels on the boundaries  Use the m x m matrix to represent the adjacency matrix for the boundary labels  Use transitive closure to compute which labels are reachable from each label  The new set of labels is communicated to all pixels in a pipelined manner

7 Hough Transform

8 Example The width of each band equals the width of a pixel

9 Algorithm

10 Example

11 Convex Hull For a set of points S in a plane, the convex hull is the smallest convex polygon that contains all points in S

12 Algorithm on an N-Cell Linear Array

13 Example for Lower Hull Point

14 Algorithm Complexity

15 Reducing Complexity If the image is represented by an N x N matrix, we may have as many as N 2 points, leading to O(N 2 ) complexity for the convex hull computation However, for any column (except the right and left ends), only the highest and lowest 1-pixels can be part of the convex hull – by restricting the computation to only these points, the complexity is reduced to O(N)

16 Title Bullet