Cliff Rhyne and Jerry Fu June 5, 2007 Parallel Image Segmenter CSE 262 Spring 2007 Project Final Presentation.

Slides:



Advertisements
Similar presentations
Data Set used. K Means K Means Clusters 1.K Means begins with a user specified amount of clusters 2.Randomly places the K centroids on the data set 3.Finds.
Advertisements

CMPUT 615 Applications of Machine Learning in Image Analysis
Principal Component Analysis Based on L1-Norm Maximization Nojun Kwak IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008.
MIT CSAIL Vision interfaces Approximate Correspondences in High Dimensions Kristen Grauman* Trevor Darrell MIT CSAIL (*) UT Austin…
Qualifying Exam: Contour Grouping Vida Movahedi Supervisor: James Elder Supervisory Committee: Minas Spetsakis, Jeff Edmonds York University Summer 2009.
Image Denoising using Locally Learned Dictionaries Priyam Chatterjee Peyman Milanfar Dept. of Electrical Engineering University of California, Santa Cruz.
Image Indexing and Retrieval using Moment Invariants Imran Ahmad School of Computer Science University of Windsor – Canada.
Efficient Clustering of High Dimensional Data Sets with Application to Reference Matching ANSHUL VARMA FAISAL QURESHI.
Biased Normalized Cuts 1 Subhransu Maji and Jithndra Malik University of California, Berkeley IEEE Conference on Computer Vision and Pattern Recognition.
Content Based Image Clustering and Image Retrieval Using Multiple Instance Learning Using Multiple Instance Learning Xin Chen Advisor: Chengcui Zhang Department.
Lecture 6 Image Segmentation
Effective Image Database Search via Dimensionality Reduction Anders Bjorholm Dahl and Henrik Aanæs IEEE Computer Society Conference on Computer Vision.
Modeling Pixel Process with Scale Invariant Local Patterns for Background Subtraction in Complex Scenes (CVPR’10) Shengcai Liao, Guoying Zhao, Vili Kellokumpu,
DIMENSIONALITY REDUCTION BY RANDOM PROJECTION AND LATENT SEMANTIC INDEXING Jessica Lin and Dimitrios Gunopulos Ângelo Cardoso IST/UTL December
1Ellen L. Walker Segmentation Separating “content” from background Separating image into parts corresponding to “real” objects Complete segmentation Each.
1 Learning to Detect Objects in Images via a Sparse, Part-Based Representation S. Agarwal, A. Awan and D. Roth IEEE Transactions on Pattern Analysis and.
Prénom Nom Document Analysis: Linear Discrimination Prof. Rolf Ingold, University of Fribourg Master course, spring semester 2008.
Segmentation Divide the image into segments. Each segment:
Cutting complete weighted graphs Jameson Cahill Ido Heskia Math/CSC 870 Spring 2007.
Semi-Supervised Clustering Jieping Ye Department of Computer Science and Engineering Arizona State University
What is Cluster Analysis?
Pattern Recognition. Introduction. Definitions.. Recognition process. Recognition process relates input signal to the stored concepts about the object.
FLANN Fast Library for Approximate Nearest Neighbors
Clustering Unsupervised learning Generating “classes”
Tal Mor  Create an automatic system that given an image of a room and a color, will color the room walls  Maintaining the original texture.
Image segmentation by clustering in the color space CIS581 Final Project Student: Qifang Xu Advisor: Dr. Longin Jan Latecki.
Image Segmentation Image segmentation is the operation of partitioning an image into a collection of connected sets of pixels. 1. into regions, which usually.
Graph-based consensus clustering for class discovery from gene expression data Zhiwen Yum, Hau-San Wong and Hongqiang Wang Bioinformatics, 2007.
Face Detection using the Viola-Jones Method
Linked Edges as Stable Region Boundaries* Michael Donoser, Hayko Riemenschneider and Horst Bischof This work introduces an unsupervised method to detect.
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona.
Mean-shift and its application for object tracking
Professor: S. J. Wang Student : Y. S. Wang
Vladyslav Kolbasin Stable Clustering. Clustering data Clustering is part of exploratory process Standard definition:  Clustering - grouping a set of.
A Statistical Approach to Speed Up Ranking/Re-Ranking Hong-Ming Chen Advisor: Professor Shih-Fu Chang.
CSE 185 Introduction to Computer Vision Pattern Recognition 2.
Particle Filters for Shape Correspondence Presenter: Jingting Zeng.
Supervised Learning of Edges and Object Boundaries Piotr Dollár Zhuowen Tu Serge Belongie.
Dense Image Over-segmentation on a GPU Alex Rodionov 4/24/2009.
Using Support Vector Machines to Enhance the Performance of Bayesian Face Recognition IEEE Transaction on Information Forensics and Security Zhifeng Li,
MultiModality Registration Using Hilbert-Schmidt Estimators By: Srinivas Peddi Computer Integrated Surgery II April 27 th, 2001 Final Presentation.
How to create property volumes
CS654: Digital Image Analysis
Computer Graphics and Image Processing (CIS-601).
Computer Vision Lecture #10 Hossam Abdelmunim 1 & Aly A. Farag 2 1 Computer & Systems Engineering Department, Ain Shams University, Cairo, Egypt 2 Electerical.
Advances in digital image compression techniques Guojun Lu, Computer Communications, Vol. 16, No. 4, Apr, 1993, pp
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Clustering COMP Research Seminar BCB 713 Module Spring 2011 Wei Wang.
Associative Hierarchical CRFs for Object Class Image Segmentation
Kylie Gorman WEEK 1-2 REVIEW. CONVERTING AN IMAGE FROM RGB TO HSV AND DISPLAY CHANNELS.
Image Segmentation in Color Space By Anisa Chaudhary.
CS 8751 ML & KDDData Clustering1 Clustering Unsupervised learning Generating “classes” Distance/similarity measures Agglomerative methods Divisive methods.
Learning to Detect Faces A Large-Scale Application of Machine Learning (This material is not in the text: for further information see the paper by P.
By: David Gelbendorf, Hila Ben-Moshe Supervisor : Alon Zvirin
By Pushpita Biswas Under the guidance of Prof. S.Mukhopadhyay and Prof. P.K.Biswas.
MultiModality Registration Using Hilbert-Schmidt Estimators By: Srinivas Peddi Computer Integrated Surgery II April 6 th, 2001.
CZ5211 Topics in Computational Biology Lecture 4: Clustering Analysis for Microarray Data II Prof. Chen Yu Zong Tel:
Clustering Wei Wang. Outline What is clustering Partitioning methods Hierarchical methods Density-based methods Grid-based methods Model-based clustering.
Given a set of data points as input Randomly assign each point to one of the k clusters Repeat until convergence – Calculate model of each of the k clusters.
Color Image Segmentation Mentor : Dr. Rajeev Srivastava Students: Achit Kumar Ojha Aseem Kumar Akshay Tyagi.
Normalized Cuts and Image Segmentation Patrick Denis COSC 6121 York University Jianbo Shi and Jitendra Malik.
Clustering Anna Reithmeir Data Mining Proseminar 2017
Semi-Supervised Clustering
CSC391/691 Intro to OpenCV Dr. Rongzhong Li Fall 2016
Recognition of biological cells – development
Saliency detection Donghun Yeo CV Lab..
Detecting Artifacts and Textures in Wavelet Coded Images
Fall 2012 Longin Jan Latecki
Clustering Wei Wang.
Intensity Transformation
Presentation transcript:

Cliff Rhyne and Jerry Fu June 5, 2007 Parallel Image Segmenter CSE 262 Spring 2007 Project Final Presentation

2 Parallel Image Segmenter Outline of Presentation ●Project Overview ●Image Segmentation ●Stability Clustering Algorithm Overview ●Parallel Image Segmentation Program ●Performance ●Future Work ●Lessons Learned and Conclusion

3 Parallel Image Segmenter Overview of Image Segmentation Image segmentation –Partition an image into a given number of sets (model order k) –Group pixels with similar qualities together –Given k sets, group pixels to maximize an objective function

4 Parallel Image Segmenter Revised Goals Provide segmentations of 2D point sets using the distance between points and density of the points Scale program to run on ~1000 processors Design program to be easily extendable to take in different inputs.

5 Parallel Image Segmenter Overview of algorithm Cue combination –Take as input two or more properties (cues) of pixels –Normalize each cue and combine into a single matrix, with particular weights Stability-based clustering –Cluster the data set using some k –Perturb distances by some small amount, cluster dataset again –Repeat this x number of times (50 in our case) –Measure stability (more on this later)

6 Parallel Image Segmenter Image Segmentation Program: High Level Design Written in C Communicates using MPI Scales depending on the available processors Broken up into 5 modules –Main –Input –Noise –K-Medoids –Cues

7 Parallel Image Segmenter Image Segmentation Program: Cues Clustering and segmentation is based on two cues –Proximity Calculate Euclidean (straight line) distance between every pair of points Store all values in a matrix –Density Count all points that fall within a box centered around a particular point Width of the box is variable

8 Parallel Image Segmenter Image Segmentation Program: K-medoids In the end, we used K-medoids Easier to use in a proof of concept Our k-medoids implementation is serial Can easily be converted to K-means by image-segmentation developers without parallel computing experience Randomly picks starting medoids and runs k-medoids algorithm multiple times

9 Parallel Image Segmenter Image Segmentation Program: Grouping Stability After computing the distance (based on the proximity and density cues) and before running k-medoids, we add noise to the values. Values are slightly perturbed and then regrouped - 50 times –Slight optimization: perturbing distance matrix rather than original data Groupings must be relabeled in order to accurately measure stability Each grouping is used as the “anchor” grouping once Stability calculated according to following equation:

10 Parallel Image Segmenter Stability (relabeling sets)

11 Parallel Image Segmenter Image Segmentation Program: Parallelization Parallelized based on K, relative weight, and density box size values. Process ID is used to determine K, weight, and box size values to use. –For example, if there are 10 values for K, weight, and box size then: process #365 has indexes k=3, weight=6, box=5. Each slave process communicates to the master process it's stability value. The results are the parameter combinations that have stability above a configurable threshold (default is 90%).

12 Parallel Image Segmenter Performance Ran over 1000 parameter combination on a 65 data point set in ~18 seconds on DataStar The per-processor performance is slower than image segmenter written in MATLAB (by Andrew Rabinovich). However the MATLAB implementation took 46 minutes total. Still can be further optimized –Use k-means instead of k-medoids. –Parallelize writing the segmentation output file. –Improve the parameter search space.

13 Parallel Image Segmenter Output Groupings

14 Parallel Image Segmenter Output Groupings

15 Parallel Image Segmenter Output Groupings

16 Parallel Image Segmenter Output Groupings

17 Parallel Image Segmenter Output Groupings

18 Parallel Image Segmenter Output Groupings

19 Parallel Image Segmenter Future Work Segmenting images –Image can be viewed as and M x N set of points Dense point set Much more data –Can start by just adding more/different cues Color, brightness, texture, contours… –Stability is the key to get through the image Heuristics to eliminate parts of search space More and/or different parallelization schemes?

20 Parallel Image Segmenter Lessons Learned Differences in MPI compilers/environments –Unreported errors –Verifying sections with equations Value of test code, particularly on parallel applications –Print statements not always adequate –Verifying small portions of complex algorithm Parallel computing is scary until you start doing it

21 Parallel Image Segmenter Conclusion Not quite at real time image processing With further performance tuning, could perform image processing interactively Program is laid out to allow for further improvement with relative ease

22 Parallel Image Segmenter Acknowledgements Professor Scott Baden –Assistance with getting started on Valkyrie and Datastar machines –Guidance on parallel computing aspects of project Professor Serge Belongie –Initial idea of multiple stable segmentation across parallel processors –Provided guidance on algorithm and scope of project Andrew Rabinovich –Assistance with stability clustering algorithm –Assistance with relabeling and bipartite matching algorithm

23 Parallel Image Segmenter References A. Rabinovich et al. “Model Order Selection and Cue Combination for Image Segmentation.” 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition - Volume 1 (CVPR'06), pp A. Rabinovich et al. “Objects in Context” IEEE International Conference on Computer Vision submission.