Efficient Graph based Image Segmentation

Similar documents
CS 664 Segmentation. Daniel Huttenlocher

Efficient Graph-Based Image Segmentation

CSE 473/573 Computer Vision and Image Processing (CVIP) Ifeoma Nwogu. Lectures 21 & 22 Segmentation and clustering

Clustering CS 550: Machine Learning

Gene Clustering & Classification

CS 664 Slides #11 Image Segmentation. Prof. Dan Huttenlocher Fall 2003

Graph Based Image Segmentation

Normalized cuts and image segmentation

Chapter 23. Minimum Spanning Trees

University of Florida CISE department Gator Engineering. Clustering Part 4

Applications. Foreground / background segmentation Finding skin-colored regions. Finding the moving objects. Intelligent scissors

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Minimum spanning trees

Clustering Part 4 DBSCAN

CS 534: Computer Vision Segmentation and Perceptual Grouping

Image Analysis Image Segmentation (Basic Methods)

Overview. Original. The context of the problem Nearest related work Our contributions The intuition behind the algorithm. 3.

BBS654 Data Mining. Pinar Duygulu. Slides are adapted from Nazli Ikizler

Image Segmentation. Srikumar Ramalingam School of Computing University of Utah. Slides borrowed from Ross Whitaker

COMP 355 Advanced Algorithms

The goals of segmentation

Targil 12 : Image Segmentation. Image segmentation. Why do we need it? Image segmentation

Unsupervised Learning

Clustering. CE-717: Machine Learning Sharif University of Technology Spring Soleymani

COP 4531 Complexity & Analysis of Data Structures & Algorithms

Clustering. Robert M. Haralick. Computer Science, Graduate Center City University of New York

HIGH RESOLUTION REMOTE SENSING IMAGE SEGMENTATION BASED ON GRAPH THEORY AND FRACTAL NET EVOLUTION APPROACH

Using the Kolmogorov-Smirnov Test for Image Segmentation

Image Segmentation continued Graph Based Methods. Some slides: courtesy of O. Capms, Penn State, J.Ponce and D. Fortsyth, Computer Vision Book

ImageCLEF 2008 Bálint Daróczy

Lecture 7: Segmentation. Thursday, Sept 20

Image Segmentation continued Graph Based Methods

ECSE 626 Course Project : A Study in the Efficient Graph-Based Image Segmentation

Segmentation and Grouping April 19 th, 2018

Classification. Vladimir Curic. Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University

Part I. Hierarchical clustering. Hierarchical Clustering. Hierarchical clustering. Produces a set of nested clusters organized as a

Robotics Programming Laboratory

Image Segmentation. Selim Aksoy. Bilkent University

Image Segmentation. Selim Aksoy. Bilkent University

Image Segmentation. Segmentation is the process of partitioning an image into regions

Beyond Mere Pixels: How Can Computers Interpret and Compare Digital Images? Nicholas R. Howe Cornell University

Digital Image Analysis and Processing

CS7267 MACHINE LEARNING

Lecture 16 Segmentation and Scene understanding

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Clustering & Classification (chapter 15)

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

DATA MINING LECTURE 7. Hierarchical Clustering, DBSCAN The EM Algorithm

Clustering algorithms and introduction to persistent homology

CS 5321: Advanced Algorithms Minimum Spanning Trees. Acknowledgement. Minimum Spanning Trees

Image Processing. BITS Pilani. Dr Jagadish Nayak. Dubai Campus

Edge linking. Two types of approaches. This process needs to be able to bridge gaps in detected edges due to the reason mentioned above

Motion Detection. Final project by. Neta Sokolovsky

Cluster Analysis: Agglomerate Hierarchical Clustering

Statistics 202: Data Mining. c Jonathan Taylor. Clustering Based in part on slides from textbook, slides of Susan Holmes.

INF4820, Algorithms for AI and NLP: Hierarchical Clustering

CS 4495 Computer Vision. Segmentation. Aaron Bobick (slides by Tucker Hermans) School of Interactive Computing. Segmentation

Hierarchical Clustering

PPKE-ITK. Lecture

Segmentation and Grouping April 21 st, 2015

Segmentation Computer Vision Spring 2018, Lecture 27

Capturing, Modeling, Rendering 3D Structures

Motion Tracking and Event Understanding in Video Sequences

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Detecting and Identifying Moving Objects in Real-Time

Grouping and Segmentation

Outline. Segmentation & Grouping. Examples of grouping in vision. Grouping in vision. Grouping in vision 2/9/2011. CS 376 Lecture 7 Segmentation 1

GPU-based Distributed Behavior Models with CUDA

Bioimage Informatics

Processing and Others. Xiaojun Qi -- REU Site Program in CVMA

CPSC 695. Geometric Algorithms in Biometrics. Dr. Marina L. Gavrilova

Advanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012

Grouping and Segmentation

Part 3: Image Processing

Clustering: Classic Methods and Modern Views

10701 Machine Learning. Clustering

UNIT 3. Greedy Method. Design and Analysis of Algorithms GENERAL METHOD

Statistics 202: Data Mining. c Jonathan Taylor. Week 8 Based in part on slides from textbook, slides of Susan Holmes. December 2, / 1

Union/Find Aka: Disjoint-set forest. Problem definition. Naïve attempts CS 445

Union Find. Data Structures and Algorithms Andrei Bulatov

SGN (4 cr) Chapter 11

From Pixels to Blobs

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

STUDYING THE FEASIBILITY AND IMPORTANCE OF GRAPH-BASED IMAGE SEGMENTATION TECHNIQUES

Lecture: Edge Detection


Machine Learning for OR & FE

INF 4300 Classification III Anne Solberg The agenda today:

Image gradients and edges April 11 th, 2017

Data Mining Cluster Analysis: Basic Concepts and Algorithms. Slides From Lecture Notes for Chapter 8. Introduction to Data Mining

Image gradients and edges April 10 th, 2018

Object Extraction Using Image Segmentation and Adaptive Constraint Propagation

Segmentation and Grouping

Learning Two-View Stereo Matching

Unsupervised Learning : Clustering

Correcting User Guided Image Segmentation

10601 Machine Learning. Hierarchical clustering. Reading: Bishop: 9-9.2

Minimum Spanning Trees

Markov Random Fields and Segmentation with Graph Cuts

Machine Learning. B. Unsupervised Learning B.1 Cluster Analysis. Lars Schmidt-Thieme, Nicolas Schilling

Transcription:

Efficient Graph based Image Segmentation by P. Felzenszwalb & D. Huttenlocher- In IJCV 2004 Courtesy Uni Bonn -Sahil Narang & Kishore Rathinavel UNC Chapel Hill

Goal Separate images into coherent objects. image human segmentation Berkeley Segmentation Database

Goal Separate image into coherent objects Top-down or bottom-up process? Supervised or unsupervised? Group together similar-looking pixels for efficiency of further processing Related to image compression Measure of success is often application-dependent

Algorithmic Requirements 1. Capture perceptually important groupings that reflect global aspects of the image 2. Be highly efficient, run time linear in the number of pixels

Images as graphs j i w ij Node for every pixel Edge between every pair of pixels (or every pair of sufficiently close pixels) Each edge is weighted by the dissimilarity of the two nodes Courtesy: Derek Hoeim

Segmentation via graph partitioning j i w ij A B C Break Graph into Segments Delete links that cross between segments Easiest to break links that high weights similar pixels should be in the same segments dissimilar pixels should be in different segments Courtesy: Derek Hoeim

Pairwise Region Comparison Predicate Key Idea: There exists a boundary between C1 and C2 iff the inter component differences is larger than the intra-component differences

Pairwise Region Comparison Predicate Int(G)=6 Int(R)=9 Mint=min(Int(G) + τ(g), Int(R) + τ(r) ) = min(6 + 60/6, 9 +60/6)=16 Diff(G,R)= min(21,15)=15 3 5 7 11 2 9 where τ(g) = k/ G 1 21 15 6 3 4 5 3

Pairwise Region Comparison Predicate Diff(G,R) > Mint(G,R)? False

Segmentation Algorithm Input: G = (V;E), with n vertices and m edges Output: Segmentation of V into components S = (C 1,,C r ) Algorithm 1. Sort E into π= (o 1,.,o m ), by non-decreasing edge weight 2. Start with a segmentation S 0, where each vertex v i is in its own component. 3. Repeat for q = 1,.,m. Construct S q from S q-1 as follows: Let v i and v j denote the vertices connected by the q-th edge in the ordering, i.e., o q = (v i ; v j ). If v i and v j are in disjoint components of S q-1 and w(o q ) is small compared to the internal difference of both those components, then merge the two components otherwise do nothing. 4. Return S=S m

Implementation Disjoint Set forests with union by rank and path compression Run Time Sorting edges: O(mlogm) Steps 2-4: O(mα(m)) where α is the inverse Ackerman s function At most 3 disjoint set ops per edge (Not) Implemented Channel based segmentation for color images Nearest Neighbor graphs

Parameters σ Gaussian Smoothing: Preprocessing to reduce noise Can cause bleeding the algorithm has difficulty separating background from the object if the boundaries are too smooth Set to 0.8 k Sets scale of observation Set to 300 minsize Post processing step to merge small components Set to 20

Smoothing Effect Original Image σ=0.5 σ=1.5

Results Original Image Author s implementation Our implementation

Results Original Image Author s implementation Our implementation

Results Original Image Author s implementation Our implementation

Results Original Image Author s implementation Our implementation

Results S.No Scene Dimensions No. of Pixels Time (sec) 1 Base case 81 x 110 8910 3.064557 2 mypeppers 192 x 125 24000 12.861267 3 Beach 240, 159 38160 27.739771 4 Indoor 240 x 320 76800 125.466307 5 Street 240 x 320 76800 128.762103 6 Baseball 294, 432 127008 481.096896

Conclusion Segmentation algorithm makes simple greedy decisions, yet obeys global properties Efficient: O(nlogn) Limited by use of minimum edge wt as evidence of boundary This assumption helps avoid making it NP-Hard Parameter dependent

Questions??

Supplemental Slides

Results Original Image Author s implementation Our implementation

Pairwise Region Comparison Predicate Key Idea: There exists a boundary between C1 and C2 iff the inter component differences is larger than the intra-component differences Internal Difference of a Component Difference between Components Pairwise Comparison Predicate

Threshold parameter Minimum Internal Difference of two Components Threshold dictates the degree to which the inter component difference must be greater that the intra component difference Threshold based on size K sets the scale of observation Can be used for shape based segmentation