CS 5540 Spring 2013 Assignment 3, v1.0 Due: Apr. 24th 11:59PM
|
|
- Lucas Berry
- 5 years ago
- Views:
Transcription
1 1 Introduction In this programming project, we are going to do a simple image segmentation task. Given a grayscale image with a bright object against a dark background and we are going to do a binary decision problem for each pixel whether it belongs to foreground or background. You will play with both synthetic data and real data and you are supposed to implement both the threshold algorithm and graph cut algorithm we learned in the lecture and understand them better. Again, this assignment can be done individually or in pairs, though we strongly encourage you to work in pairs. You can use any languages to do it. You are supposed to implement your own algorithms so that you CANNOT use any built-in functions or third-party code of these algorithms directly EXCEPT that you can use or translate the code which we provide on solving min-cut problem. If you have any questions about this requirement, please ask the TA (chenwang@cs.cornell.edu). 2 Assignment Submission Please submit an archived file through CMS including your report and source code. You are supposed to include a brief description on the technique choices (like parameters, energy functions, etc.) you made in your algorithm. For each image segmentation task, you are supposed to provide at least one mask image and its corresponding extracted foreground (please see Sec. 3.1 for more details and examples). It s better if you can provide multiple results using different techniques and compare them. 3 Assignment 3.1 Task Definition Definition 3.1 (Grayscale Image). In a computer system, a grayscale image can be represented by a 2-D matrix. Suppose we have H W pixels in the image, we will represent it as an H W matrix I where each entry I ij is the intensity of the corresponding pixel on the i-th row and j-th column. Typically, the intensity is an integer with range [0, 255] where 0 indicates black and 255 indicates white. Definition 3.2 (Binary Image Segmentation). In a binary image segmentation task, we would like to classify each pixel into 2 categories (i.e., foreground and background). In other words, we would like to work out a function f : [0, 255] H W {0, 1} H W which takes an image as input and output a 0,1-matrix with the same size where 0 indicates background pixel and 1 indicates foreground pixel. Sometimes we also name the output as mask matrix and we can visualize it as an image. Definition 3.3 (Extracted Foreground). We define extracted foreground as an image which keeps the original foreground and leaves all the background pixels as black. Formally, suppose Y = f(i), we can define O as the extracted foreground by: O ij = Y ij I ij (1) The following figure illustrates the original image, mask image and the extracted foreground. You are also supposed to include the mask image and extracted foreground for each segmentation in your experiments. 3.2 Threshold-based Segmentation Simple Thresholding Algorithm Since in our simple binary image segmentation task, we assume that the object is always bright while the background is always dark, a naive way to do the segmentation is to set up a threshold t and apply the 1
2 Figure 1: Input Image Figure 2: Mask Image (Binary Segmentation Result) Figure 3: Extracted Foreground thresholding function to each pixel. I.e., given image I H W, we obtain our result (mask matrix) Y H W as: Y ij = { 1, Iij t 0, I ij < t (2) However, real images are not ideal. So that the simple thresholding algorithm is vulnerable to noise, and the boundary we got may not be smooth. Therefore, we alway perform some pre-processing and post-processing to enhance our result. I will introduce two typical filters for pre-processing and post-processing respectively Mean Filter Denoising We can generalize our 1-D mean filter into 2-D space to do the denoising task before we do the segmentation. The idea is still to replace the intensity of each pixel by its local average. Typically, given any pixel, we will define all the pixels within Manhattan Distance k as its neighbor, i.e., a square with length 2k + 1 centered at the given pixel. Here, k is a parameter. Note that we may also take a different treatment to the boundary pixels this time, see the formal definition below. We can define our neighbor set N (x, y) and the image I after denoising in the following way: N (x, y) = {(i, j) } 1 i H, 1 j W, x i + y i k (3) I xy = (i,j) N (x,y) I ij N (x, y) (4) Morphological Filters To refine the segmentation result, we would like to do some post-processing on our result. Morphological filters are classic tools to tackle this issue. Two fundamental operations are dilation and erosion. In dilation, if any neighborhood pixel is foreground, it becomes foreground. In erosion, if any neighborhood pixel is background, it becomes background. Common morphological filter applies one dilation operation firstly, then followed by an erosion operation. It can fill in some holds in the segmentation result and makes the boundary more smooth. You also need to define the neighbor set for morphological filter. In practice, this neighbor set is typically very small, e.g., k 3 for the Manhattan distance we defined above Your Task You are suppose to do the following tasks in this part: Implement thresholding algorithm and 2-D mean filters. (Optional) Implement Morphological filters. 2
3 Figure 4: Example for a graph Choose proper threshold t, apply simple thresholding algorithm on groundtruth.png in synthetic data. Apply simple thresholding algorithm on noisy.png in synthetic data. Analyze why a simple thresholding strategy fails in this case. Choose proper size k, apply mean filter on noisy.png, then apply the simple thresholding algorithm to do the segmentation. (Optional: apply morphological filters to refine the result.) With the experience in the synthetic data, conduct segmentation for each image in real data using thresholding algorithm. (Optional: you can add more fun things beyond the mean filter and morphological filters to make the results better.) 3.3 Graph Cut-based Segmentation Preliminary This part will introduce some basic knowledge in graph theory, including direct graph, flow, cut, etc. If you have already know these kind of things or you are not interested in reading too much maths, you can skip the formal definition. But PLEASE try to understand all the examples here, which may help you understand the high-level ideas of these mathematical tools and build our own models in image segmentation task better. Some materials of this part come from Dexter Kozen s textbook [1]. If you are interested in this staff, you can take CS 4820 or CS 6820 for more details. Definition 3.4 (Directed Graph). A directed graph G is defined by a tuple G = (V, E). Here V is a vertex set which represents the nodes in the graph. E V 2 is an edges set which represents the directed links between a pair of nodes. Example of graph: Fig. 4 illustrates an example of a directed graph. There are 3 nodes and 3 directed edges in the graph. Here our vertex set V = {1, 2, 3}, and out edge set E = {(1, 2), (2, 3), (3, 1)}. Note that we use ordered pair to represent directed edge, i.e., (1, 2) is an edge pointed from node 1 to node 2 (see the arrow in the example), which is different from edge (2, 1). Suppose we are given a tuple G = (V, c, s, t), where V is a set of vertices, s, t V are distinguished vertices which are called the source and sink respectively, and c is a function c : V 2 R + assigning a nonnegative real capacity to each pair of vertices. We make G into a directed graph by defining the set of directed edges: E = { (u, v) c(u, v) > 0 } (5) Definition 3.5 (Flow). A function f : V 2 R is called a flow if the following three conditions are satisfied: capacity constraints: for all vertex u, v V, we have f(u, v) c(u, v) skew symmetry: for all u, v V, we have f(u, v) = f(v, u) 3
4 Figure 5: Example for a flow conservation of flow: for all vertex v V except s and t, we have v V f(u, v) = 0 Definition 3.6 (Max Flow Problem). We can define the value of a flow f as the total amount of flow from the source, i.e., f = f(s, v) (6) v V The max flow problem is to find the flow f with the maximum value f. Example of flow: The intuition of a flow comes from the water flow in pipes. We use a graph to describe the connection of pipes, we use the capacity function c to describe the capacity for each pipe and we use flow function f to describe the amount of water go through each pipe in unit time. An interpretation of the 3 properties in our definition of flow is: 1) Capacity constraints says we cannot push too much water into any pipe which exceeds its capacity in unit time. 2) Skew symmetry is somehow counter-intuitive, we can understand that I give you 5 gallons of water means you receive 5 gallons of water from me. An awkward way to express the same thing maybe I give you 5 gallons of water mean you give me -5 gallons of water. 3) Combining with the second property, conservation of flow says for each internal node, the amount of water it received from other nodes is equal to the amount of water it pushes to other nodes. In other words, internal nodes cannot store waters. Only source node s can generate water while sink node t can store water in our water system. Fig. 5 illustrates an example of a flow network and its flow. The numbers f/c on each edge are its corresponding flow and capacity. To keep the figure clean, I don t draw lines with 0-capacity and negative flow. But we should know that f(s, 1) = 2 implies f(1, s) = 2. We can verify the capacity constraints and conservation of flow holds in this example. For example, for node 4, it receive 1 gallon of water from node 1 and 3 gallons of water from node 2. It also pushes 4 gallons of water towards sink node t. By the way, this flow illustrated in the figure is also the max flow, with value f = 5. Definition 3.7 (s,t-cut). An s,t-cut is a pair A, B of disjoint subsets of V whose union is V such that s A, t B. The capacity of the cut A, B, denoted c(a, B), is: c(a, B) = c(u, v) (7) u A,v B Definition 3.8 (Min Cut Problem). Given the tuple G = (V, c, s, t), find the s,t-cut A, B with the minimal capacity value. Example of cut: In Fig. 6, the dotted line separate the vertex set into A = {s, 1, 2, 4} and B = {3, t}. The capacity of this cut is c(a, B) = 5. By the way, this is also the min-cut of this graph. Theorem 3.9 (Max Flow-Min Cut Theorem). Suppose f is the max flow in G = (V, c, s, t) and A, B is the min cut in G = (V, c, s, t), then we have: f = c(a, B). An intuitive interpretation of this theorem is the maximum flow in a pipe system is bounded by the bottleneck pipes in the system. We can also see from the examples above that the value of max flow agrees with the capacity of min-cut in our example. 4
5 Figure 6: Example for a cut Graph Cut for Image Segmentation Just as we learned from lecture, our energy function will be a combination of data term and prior term. E(L) = D p (L p ) + λ P pq I(L p L q ) (8) p where both D p and P pq are some kinds of penalty function. D p (L p ) describes the penalty of we label pixel p as L p. P pq is the penalty of two neighbor pixels p and q with different labels. There are many choices for these penalty functions, most of them are depend on the intensity of pixels. To convert this energy minimization problem into a min-cut problem. We need to define the flow network in the following way: pq N We treat each pixel p we need to label as one node n p in the graph. We need to add one special source node s and one special sink node t into the graph. We add an directed edge from source s to each internal node n p with capacity D p (1) while we add an directed edge from each internal node n p to sink t with capacity D p (0). For each pair of pixels p and q appears in our neighborhood system N, we add two directed edges (n p, n q ) and (n q, n p ) with both capacity λp pq. Fig. 7[2] is a very good example to illustrated to procedure described above. Suppose (A, B) is an arbitrary cut in the graph we defined above, then we label each pixel p A as 0 (background) and other pixels q B as 1 (foreground). One claim is c(a, B) = E(L). We can prove this by some computation: c(a, B) = p A,q B c(p, q) (defintion of cut) = q B {t} c(s, q) + p A {s} c(p, t) + p A {s},q B {t} c(p, q) (note that c(s, t) = 0) = q B {t} D q(1) + p A {s} D p(0) + p A {s},q B {t} λp pq = p D p(l p ) + λ pq N,L p L q P pq = p D p(l p ) + λ pq N P pqi(l p L q ) = E(L) (9) Therefore, we can also see that the optimal labels in our binary segmentation task to minimize the energy function is equivalent to the min-cut in the graph we defined. For more details about the formulation of the problem and the choices of penalty functions, please refer Boykov and Funka-Lea s paper [2], especially Section. 2.1, 2.2, 2.3 and
6 Figure 7: Example of image segmentation using graph cut[2] Usage of Dinic Class The algorithm to solve a max-flow (min-cut) problem is not trivial and far more than the requirement of the course. Therefore, we provided an implementation of Dinic Algorithm to solve this the max-flow and min-cut problem. You can use this code as a subroutine in your assignment. This code is written in C++, but you can easily translate it into your own programming language since there are only 144 lines of code. You don t need to understand how does this code works. You need to follow the following instructions to use this code: Step 1: Initialize an instance of Dinic class. Please also specify the number of vertices and edges of your graph as the first and second parameters in the constructor in this step. They will be used to allocate arrays in the memory so that please make sure that they are big enough. Step 2: Call AddEdge(s, t, c) to add edges of the graph one by one. The parameters means that we will add a directed edge from node s to node t with capacity c. This operation is additive, i.e., AddEdge(1,2,1);AddEdge(1,2,2); is equivalent to AddEdge(1,2,3). By the way, AddEdge(s,t,c,true); is a syntax sugar for AddEdge(s,t,c);Add(t,s,c);. You may find this one useful when you define prior terms. Step 3: Call MaxFlow() to calculate the max flow of the graph. Step 4: Call MinCut() to get the min cut set of the graph. This function will return a boolean array which indicates whether each variable belongs to set A. Please note that min-cut is computed based on the max flow. So please make sure that call MaxFlow() before MinCut(). The main function in the provided code illustrate how to get the results in Fig. 5 and Fig. 6. It should generate the max flow as 5 and min cut set A = {0, 1, 2, 4} and B = {3, 5}. You can use this one or some other toy problems as a test case for your own translation version. Please contact TA when you have any questions about the usage of this code. 6
7 3.3.4 Your Task You are supposed to do the following things in this part: Implement graph-cut algorithm for image segmentation using (or translating) the program we provided to solve the min-cut problem as a sub-routine. Choose proper parameters, define the penalty functions used in the energy function of graph cut, conduct graph-cut based segmentation for each images in both synthetic and real dataset. You may choose you own way to do the pre-processing and post-processing. Note that this parameter (including the parameters in the penalty functions) are task-specific, which means you may need to tune them for each image. And the quality of the final segmentation result will be heavily relied on these parameters and functions. Compare the result of threshold based segmentation and graph-cut based segmentation. Please also note that for some big images, it may takes several minutes for Dinic Algorithm to optimize the energy function. (According to my own experiment) So please try to use some efficient programming languages this time. The speed of the algorithm also depends on the size of your neighbor system, please try smaller neighbor system (like 4-neighbor system) when it takes too much time. In case of the program is still very slow, you can down sampling the original image to get a smaller image (which means a smaller graph). But remember, this is the last way out. Only use it when necessary. 4 Academic Integrity Academic integrity is important in this course. cornell.edu/academic/aic.html). You must follow the school s code ( Since this is a programming project, we would like to emphasize the following rules: Having discussions with other people, using open sources and public tools, getting ideas from research papers is allowed, but proper citations and acknowledgements are required. Otherwise, any direct or indirect copy from other s work, Internet, etc. is strictly forbidden. All the results you reported in this project must be generated by your submitted programs. Violations of academic integrity are taken very seriously. Please feel free to contact Professor Zabih if you have any questions or concerns about this topic, or if you feel there is any possibility that you may be violating the code of academic integrity. References [1] D.C. Kozen, The design and analysis of algorithms, Springer, [2] Y. Boykov, and G. Funka-Lea, Graph cuts and efficient ND image segmentation, International Journal of Computer Vision 70 (2006), pp
Introduction. Computer Vision & Digital Image Processing. Preview. Basic Concepts from Set Theory
Introduction Computer Vision & Digital Image Processing Morphological Image Processing I Morphology a branch of biology concerned with the form and structure of plants and animals Mathematical morphology
More informationMorphological Image Processing
Morphological Image Processing Binary image processing In binary images, we conventionally take background as black (0) and foreground objects as white (1 or 255) Morphology Figure 4.1 objects on a conveyor
More informationMorphological Image Processing
Morphological Image Processing Ranga Rodrigo October 9, 29 Outline Contents Preliminaries 2 Dilation and Erosion 3 2. Dilation.............................................. 3 2.2 Erosion..............................................
More informationMorphological Image Processing
Morphological Image Processing Morphology Identification, analysis, and description of the structure of the smallest unit of words Theory and technique for the analysis and processing of geometric structures
More informationMaximum flows & Maximum Matchings
Chapter 9 Maximum flows & Maximum Matchings This chapter analyzes flows and matchings. We will define flows and maximum flows and present an algorithm that solves the maximum flow problem. Then matchings
More informationFrom Pixels to Blobs
From Pixels to Blobs 15-463: Rendering and Image Processing Alexei Efros Today Blobs Need for blobs Extracting blobs Image Segmentation Working with binary images Mathematical Morphology Blob properties
More informationBiomedical Image Analysis. Mathematical Morphology
Biomedical Image Analysis Mathematical Morphology Contents: Foundation of Mathematical Morphology Structuring Elements Applications BMIA 15 V. Roth & P. Cattin 265 Foundations of Mathematical Morphology
More informationGraphs, graph algorithms (for image segmentation),... in progress
Graphs, graph algorithms (for image segmentation),... in progress Václav Hlaváč Czech Technical University in Prague Czech Institute of Informatics, Robotics and Cybernetics 66 36 Prague 6, Jugoslávských
More informationMULTI-REGION SEGMENTATION
MULTI-REGION SEGMENTATION USING GRAPH-CUTS Johannes Ulén Abstract This project deals with multi-region segmenation using graph-cuts and is mainly based on a paper by Delong and Boykov [1]. The difference
More informationCAP5415-Computer Vision Lecture 13-Image/Video Segmentation Part II. Dr. Ulas Bagci
CAP-Computer Vision Lecture -Image/Video Segmentation Part II Dr. Ulas Bagci bagci@ucf.edu Labeling & Segmentation Labeling is a common way for modeling various computer vision problems (e.g. optical flow,
More informationCS6670: Computer Vision
CS6670: Computer Vision Noah Snavely Lecture 19: Graph Cuts source S sink T Readings Szeliski, Chapter 11.2 11.5 Stereo results with window search problems in areas of uniform texture Window-based matching
More informationProcessing of binary images
Binary Image Processing Tuesday, 14/02/2017 ntonis rgyros e-mail: argyros@csd.uoc.gr 1 Today From gray level to binary images Processing of binary images Mathematical morphology 2 Computer Vision, Spring
More informationLecture 11: Maximum flow and minimum cut
Optimisation Part IB - Easter 2018 Lecture 11: Maximum flow and minimum cut Lecturer: Quentin Berthet 4.4. The maximum flow problem. We consider in this lecture a particular kind of flow problem, with
More informationEE 584 MACHINE VISION
EE 584 MACHINE VISION Binary Images Analysis Geometrical & Topological Properties Connectedness Binary Algorithms Morphology Binary Images Binary (two-valued; black/white) images gives better efficiency
More informationImage Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu
Image Processing CS 554 Computer Vision Pinar Duygulu Bilkent University Today Image Formation Point and Blob Processing Binary Image Processing Readings: Gonzalez & Woods, Ch. 3 Slides are adapted from
More informationBinary Image Processing. Introduction to Computer Vision CSE 152 Lecture 5
Binary Image Processing CSE 152 Lecture 5 Announcements Homework 2 is due Apr 25, 11:59 PM Reading: Szeliski, Chapter 3 Image processing, Section 3.3 More neighborhood operators Binary System Summary 1.
More informationCITS 4402 Computer Vision
CITS 4402 Computer Vision A/Prof Ajmal Mian Adj/A/Prof Mehdi Ravanbakhsh, CEO at Mapizy (www.mapizy.com) and InFarm (www.infarm.io) Lecture 02 Binary Image Analysis Objectives Revision of image formation
More informations-t Graph Cuts for Binary Energy Minimization
s-t Graph Cuts for Binary Energy Minimization E data term ( L) = D ( ) + ( ) P Lp λ Ι Lp Lq p prior term Now that we have an energy function, the big question is how do we minimize it? pq N n Exhaustive
More informationCS 217 Algorithms and Complexity Homework Assignment 2
CS 217 Algorithms and Complexity Homework Assignment 2 Shanghai Jiaotong University, Fall 2015 Handed out on 2015-10-19 Due on 2015-10-26 You can hand in your solution either as a printed file or hand-written
More informationCS4670 / 5670: Computer Vision Noah Snavely
{ { 11/26/2013 CS4670 / 5670: Computer Vision Noah Snavely Graph-Based Image Segmentation Stereo as a minimization problem match cost Want each pixel to find a good match in the other image smoothness
More informationMaximum flows and minimal cuts. Filip Malmberg
Maximum flows and minimal cuts Filip Malmberg MSF cuts I A Minimum Spanning Forest with respect to a set of seed-points divides a graph into a number of connected components. Thus, it defines a cut on
More informationmorphology on binary images
morphology on binary images Ole-Johan Skrede 10.05.2017 INF2310 - Digital Image Processing Department of Informatics The Faculty of Mathematics and Natural Sciences University of Oslo After original slides
More information09/11/2017. Morphological image processing. Morphological image processing. Morphological image processing. Morphological image processing (binary)
Towards image analysis Goal: Describe the contents of an image, distinguishing meaningful information from irrelevant one. Perform suitable transformations of images so as to make explicit particular shape
More informationImage Enhancement Using Fuzzy Morphology
Image Enhancement Using Fuzzy Morphology Dillip Ranjan Nayak, Assistant Professor, Department of CSE, GCEK Bhwanipatna, Odissa, India Ashutosh Bhoi, Lecturer, Department of CSE, GCEK Bhawanipatna, Odissa,
More informationMEDICAL IMAGE COMPUTING (CAP 5937) LECTURE 10: Medical Image Segmentation as an Energy Minimization Problem
SPRING 06 MEDICAL IMAGE COMPUTING (CAP 97) LECTURE 0: Medical Image Segmentation as an Energy Minimization Problem Dr. Ulas Bagci HEC, Center for Research in Computer Vision (CRCV), University of Central
More informationGraph Based Image Segmentation
AUTOMATYKA 2011 Tom 15 Zeszyt 3 Anna Fabijañska* Graph Based Image Segmentation 1. Introduction Image segmentation is one of the fundamental problems in machine vision. In general it aims at extracting
More informationC E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S. Image Operations II
T H E U N I V E R S I T Y of T E X A S H E A L T H S C I E N C E C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S Image Operations II For students of HI 5323
More informationChapter 9 Morphological Image Processing
Morphological Image Processing Question What is Mathematical Morphology? An (imprecise) Mathematical Answer A mathematical tool for investigating geometric structure in binary and grayscale images. Shape
More informationSymbol Detection Using Region Adjacency Graphs and Integer Linear Programming
2009 10th International Conference on Document Analysis and Recognition Symbol Detection Using Region Adjacency Graphs and Integer Linear Programming Pierre Le Bodic LRI UMR 8623 Using Université Paris-Sud
More informationWhat will we learn? What is mathematical morphology? What is mathematical morphology? Fundamental concepts and operations
What will we learn? What is mathematical morphology and how is it used in image processing? Lecture Slides ME 4060 Machine Vision and Vision-based Control Chapter 13 Morphological image processing By Dr.
More informationCOMP 558 lecture 22 Dec. 1, 2010
Binocular correspondence problem Last class we discussed how to remap the pixels of two images so that corresponding points are in the same row. This is done by computing the fundamental matrix, defining
More informationCS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University
CS443: Digital Imaging and Multimedia Binary Image Analysis Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines A Simple Machine Vision System Image segmentation by thresholding
More informationLATIN SQUARES AND TRANSVERSAL DESIGNS
LATIN SQUARES AND TRANSVERSAL DESIGNS *Shirin Babaei Department of Mathematics, University of Zanjan, Zanjan, Iran *Author for Correspondence ABSTRACT We employ a new construction to show that if and if
More informationLecture 3: Art Gallery Problems and Polygon Triangulation
EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified
More informationStatistical and Learning Techniques in Computer Vision Lecture 1: Markov Random Fields Jens Rittscher and Chuck Stewart
Statistical and Learning Techniques in Computer Vision Lecture 1: Markov Random Fields Jens Rittscher and Chuck Stewart 1 Motivation Up to now we have considered distributions of a single random variable
More informationHomework 3 Solutions
CS3510 Design & Analysis of Algorithms Section A Homework 3 Solutions Released: 7pm, Wednesday Nov 8, 2017 This homework has a total of 4 problems on 4 pages. Solutions should be submitted to GradeScope
More informationADAPTIVE GRAPH CUTS WITH TISSUE PRIORS FOR BRAIN MRI SEGMENTATION
ADAPTIVE GRAPH CUTS WITH TISSUE PRIORS FOR BRAIN MRI SEGMENTATION Abstract: MIP Project Report Spring 2013 Gaurav Mittal 201232644 This is a detailed report about the course project, which was to implement
More informationImage Segmentation. Srikumar Ramalingam School of Computing University of Utah. Slides borrowed from Ross Whitaker
Image Segmentation Srikumar Ramalingam School of Computing University of Utah Slides borrowed from Ross Whitaker Segmentation Semantic Segmentation Indoor layout estimation What is Segmentation? Partitioning
More information15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018
15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 In this lecture, we describe a very general problem called linear programming
More informationComputer Vision 2. SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung. Computer Vision 2 Dr. Benjamin Guthier
Computer Vision 2 SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung Computer Vision 2 Dr. Benjamin Guthier 1. IMAGE PROCESSING Computer Vision 2 Dr. Benjamin Guthier Content of this Chapter Non-linear
More informationImage Segmentation Image Thresholds Edge-detection Edge-detection, the 1 st derivative Edge-detection, the 2 nd derivative Horizontal Edges Vertical
Image Segmentation Image Thresholds Edge-detection Edge-detection, the 1 st derivative Edge-detection, the 2 nd derivative Horizontal Edges Vertical Edges Diagonal Edges Hough Transform 6.1 Image segmentation
More informationintro, applications MRF, labeling... how it can be computed at all? Applications in segmentation: GraphCut, GrabCut, demos
Image as Markov Random Field and Applications 1 Tomáš Svoboda, svoboda@cmp.felk.cvut.cz Czech Technical University in Prague, Center for Machine Perception http://cmp.felk.cvut.cz Talk Outline Last update:
More informationCS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36
CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 36 CS 473: Algorithms, Spring 2018 LP Duality Lecture 20 April 3, 2018 Some of the
More informationAMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12.
AMS 550.47/67: Graph Theory Homework Problems - Week V Problems to be handed in on Wednesday, March : 6, 8, 9,,.. Assignment Problem. Suppose we have a set {J, J,..., J r } of r jobs to be filled by a
More informationCS 664 Segmentation. Daniel Huttenlocher
CS 664 Segmentation Daniel Huttenlocher Grouping Perceptual Organization Structural relationships between tokens Parallelism, symmetry, alignment Similarity of token properties Often strong psychophysical
More informationSPERNER S LEMMA MOOR XU
SPERNER S LEMMA MOOR XU Abstract. Is it possible to dissect a square into an odd number of triangles of equal area? This question was first answered by Paul Monsky in 970, and the solution requires elements
More informationCS4670: Computer Vision
CS4670: Computer Vision Noah Snavely Lecture 34: Segmentation From Sandlot Science Announcements In-class exam this Friday, December 3 Review session in class on Wednesday Final projects: Slides due: Sunday,
More informationMEDICAL IMAGE COMPUTING (CAP 5937) LECTURE 10: Medical Image Segmentation as an Energy Minimization Problem
SPRING 07 MEDICAL IMAGE COMPUTING (CAP 97) LECTURE 0: Medical Image Segmentation as an Energy Minimization Problem Dr. Ulas Bagci HEC, Center for Research in Computer Vision (CRCV), University of Central
More informationSome material taken from: Yuri Boykov, Western Ontario
CS664 Lecture #22: Distance transforms, Hausdorff matching, flexible models Some material taken from: Yuri Boykov, Western Ontario Announcements The SIFT demo toolkit is available from http://www.evolution.com/product/oem/d
More informationAnalysis of Binary Images
Analysis of Binary Images Introduction to Computer Vision CSE 52 Lecture 7 CSE52, Spr 07 The appearance of colors Color appearance is strongly affected by (at least): Spectrum of lighting striking the
More informationThe strong chromatic number of a graph
The strong chromatic number of a graph Noga Alon Abstract It is shown that there is an absolute constant c with the following property: For any two graphs G 1 = (V, E 1 ) and G 2 = (V, E 2 ) on the same
More informationMinimum Cost Edge Disjoint Paths
Minimum Cost Edge Disjoint Paths Theodor Mader 15.4.2008 1 Introduction Finding paths in networks and graphs constitutes an area of theoretical computer science which has been highly researched during
More informationChapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn
Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Graphs Extremely important concept in computer science Graph, : node (or vertex) set : edge set Simple graph: no self loops, no multiple
More informationby conservation of flow, hence the cancelation. Similarly, we have
Chapter 13: Network Flows and Applications Network: directed graph with source S and target T. Non-negative edge weights represent capacities. Assume no edges into S or out of T. (If necessary, we can
More informationLP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008
LP-Modelling dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven January 30, 2008 1 Linear and Integer Programming After a brief check with the backgrounds of the participants it seems that the following
More informationEECS490: Digital Image Processing. Lecture #17
Lecture #17 Morphology & set operations on images Structuring elements Erosion and dilation Opening and closing Morphological image processing, boundary extraction, region filling Connectivity: convex
More informationAdvanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs
Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material
More informationMorphological Image Processing
Morphological Image Processing Binary dilation and erosion" Set-theoretic interpretation" Opening, closing, morphological edge detectors" Hit-miss filter" Morphological filters for gray-level images" Cascading
More informationRobot vision review. Martin Jagersand
Robot vision review Martin Jagersand What is Computer Vision? Computer Graphics Three Related fields Image Processing: Changes 2D images into other 2D images Computer Graphics: Takes 3D models, renders
More informationFilters. Advanced and Special Topics: Filters. Filters
Filters Advanced and Special Topics: Filters Dr. Edmund Lam Department of Electrical and Electronic Engineering The University of Hong Kong ELEC4245: Digital Image Processing (Second Semester, 2016 17)
More informationVertex-Colouring Edge-Weightings
Vertex-Colouring Edge-Weightings L. Addario-Berry a, K. Dalal a, C. McDiarmid b, B. A. Reed a and A. Thomason c a School of Computer Science, McGill University, University St. Montreal, QC, H3A A7, Canada
More informationBilinear Programming
Bilinear Programming Artyom G. Nahapetyan Center for Applied Optimization Industrial and Systems Engineering Department University of Florida Gainesville, Florida 32611-6595 Email address: artyom@ufl.edu
More informationJessica Su (some parts copied from CLRS / last quarter s notes)
1 Max flow Consider a directed graph G with positive edge weights c that define the capacity of each edge. We can identify two special nodes in G: the source node s and the sink node t. We want to find
More informationInterpolation is a basic tool used extensively in tasks such as zooming, shrinking, rotating, and geometric corrections.
Image Interpolation 48 Interpolation is a basic tool used extensively in tasks such as zooming, shrinking, rotating, and geometric corrections. Fundamentally, interpolation is the process of using known
More informationx Boundary Intercepts Test (0,0) Conclusion 2x+3y=12 (0,4), (6,0) 0>12 False 2x-y=2 (0,-2), (1,0) 0<2 True
MATH 34 (Finite Mathematics or Business Math I) Lecture Notes MATH 34 Module 3 Notes: SYSTEMS OF INEQUALITIES & LINEAR PROGRAMMING 3. GRAPHING SYSTEMS OF INEQUALITIES Simple Systems of Linear Inequalities
More informationCS261: Problem Set #2
CS261: Problem Set #2 Due by 11:59 PM on Tuesday, February 9, 2016 Instructions: (1) Form a group of 1-3 students. You should turn in only one write-up for your entire group. (2) Submission instructions:
More informationSolving problems on graph algorithms
Solving problems on graph algorithms Workshop Organized by: ACM Unit, Indian Statistical Institute, Kolkata. Tutorial-3 Date: 06.07.2017 Let G = (V, E) be an undirected graph. For a vertex v V, G {v} is
More informationBasic relations between pixels (Chapter 2)
Basic relations between pixels (Chapter 2) Lecture 3 Basic Relationships Between Pixels Definitions: f(x,y): digital image Pixels: q, p (p,q f) A subset of pixels of f(x,y): S A typology of relations:
More informationCS446: Machine Learning Fall Problem Set 4. Handed Out: October 17, 2013 Due: October 31 th, w T x i w
CS446: Machine Learning Fall 2013 Problem Set 4 Handed Out: October 17, 2013 Due: October 31 th, 2013 Feel free to talk to other members of the class in doing the homework. I am more concerned that you
More informationCIS UDEL Working Notes on ImageCLEF 2015: Compound figure detection task
CIS UDEL Working Notes on ImageCLEF 2015: Compound figure detection task Xiaolong Wang, Xiangying Jiang, Abhishek Kolagunda, Hagit Shatkay and Chandra Kambhamettu Department of Computer and Information
More informationEE795: Computer Vision and Intelligent Systems
EE795: Computer Vision and Intelligent Systems Spring 2012 TTh 17:30-18:45 WRI C225 Lecture 04 130131 http://www.ee.unlv.edu/~b1morris/ecg795/ 2 Outline Review Histogram Equalization Image Filtering Linear
More informationNotes on Minimum Cuts and Modular Functions
Notes on Minimum Cuts and Modular Functions 1 Introduction The following are my notes on Cunningham s paper [1]. Given a submodular function f and a set S, submodular minimisation is the problem of finding
More informationInteractive segmentation, Combinatorial optimization. Filip Malmberg
Interactive segmentation, Combinatorial optimization Filip Malmberg But first... Implementing graph-based algorithms Even if we have formulated an algorithm on a general graphs, we do not neccesarily have
More informationDefinition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1
Graph fundamentals Bipartite graph characterization Lemma. If a graph contains an odd closed walk, then it contains an odd cycle. Proof strategy: Consider a shortest closed odd walk W. If W is not a cycle,
More informationSupervised texture detection in images
Supervised texture detection in images Branislav Mičušík and Allan Hanbury Pattern Recognition and Image Processing Group, Institute of Computer Aided Automation, Vienna University of Technology Favoritenstraße
More informationFuzzy Soft Mathematical Morphology
Fuzzy Soft Mathematical Morphology. Gasteratos, I. ndreadis and Ph. Tsalides Laboratory of Electronics Section of Electronics and Information Systems Technology Department of Electrical and Computer Engineering
More informationCSCI-GA Scripting Languages
CSCI-GA.3033.003 Scripting Languages 12/02/2013 OCaml 1 Acknowledgement The material on these slides is based on notes provided by Dexter Kozen. 2 About OCaml A functional programming language All computation
More informationConnectivity Preserving Digitization of Blurred Binary Images in 2D and 3D
Connectivity Preserving Digitization of Blurred Binary Images in 2D and 3D Peer Stelldinger a Ullrich Köthe a a Cognitive Systems Group, University of Hamburg, Vogt-Köln-Str. 30, D-22527 Hamburg, Germany
More informationImage Analysis - Lecture 5
Texture Segmentation Clustering Review Image Analysis - Lecture 5 Texture and Segmentation Magnus Oskarsson Lecture 5 Texture Segmentation Clustering Review Contents Texture Textons Filter Banks Gabor
More informationMITOCW watch?v=4dj1oguwtem
MITOCW watch?v=4dj1oguwtem PROFESSOR: So it's time to examine uncountable sets. And that's what we're going to do in this segment. So Cantor's question was, are all sets the same size? And he gives a definitive
More informationIntroduction to grayscale image processing by mathematical morphology
Introduction to grayscale image processing by mathematical morphology Jean Cousty MorphoGraph and Imagery 2011 J. Cousty : Morpho, graphes et imagerie 3D 1/15 Outline of the lecture 1 Grayscale images
More informationPrimal Dual Schema Approach to the Labeling Problem with Applications to TSP
1 Primal Dual Schema Approach to the Labeling Problem with Applications to TSP Colin Brown, Simon Fraser University Instructor: Ramesh Krishnamurti The Metric Labeling Problem has many applications, especially
More informationInternational Journal of Advance Engineering and Research Development. Applications of Set Theory in Digital Image Processing
Scientific Journal of Impact Factor (SJIF): 4.72 International Journal of Advance Engineering and Research Development Volume 4, Issue 11, November -2017 Applications of Set Theory in Digital Image Processing
More informationBiomedical Image Analysis. Point, Edge and Line Detection
Biomedical Image Analysis Point, Edge and Line Detection Contents: Point and line detection Advanced edge detection: Canny Local/regional edge processing Global processing: Hough transform BMIA 15 V. Roth
More informationCSE 417 Network Flows (pt 3) Modeling with Min Cuts
CSE 417 Network Flows (pt 3) Modeling with Min Cuts Reminders > HW6 is due on Friday start early bug fixed on line 33 of OptimalLineup.java: > change true to false Review of last two lectures > Defined
More informationJ Linear Programming Algorithms
Simplicibus itaque verbis gaudet Mathematica Veritas, cum etiam per se simplex sit Veritatis oratio. [And thus Mathematical Truth prefers simple words, because the language of Truth is itself simple.]
More informationarxiv: v2 [cs.dm] 28 Dec 2010
Multiple-source multiple-sink maximum flow in planar graphs Yahav Nussbaum arxiv:1012.4767v2 [cs.dm] 28 Dec 2010 Abstract In this paper we show an O(n 3/2 log 2 n) time algorithm for finding a maximum
More informationEXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,
School of Computer Science and Communication, KTH Danica Kragic EXAM SOLUTIONS Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006, 14.00 19.00 Grade table 0-25 U 26-35 3 36-45
More informationVC 16/17 TP5 Single Pixel Manipulation
VC 16/17 TP5 Single Pixel Manipulation Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos Hélder Filipe Pinto de Oliveira Outline Dynamic Range Manipulation
More informationTopological structure of images
Topological structure of images Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Methods for Image Processing academic year 27 28 Use of simple relationships between pixels The
More informationHomework 4 Computer Vision CS 4731, Fall 2011 Due Date: Nov. 15, 2011 Total Points: 40
Homework 4 Computer Vision CS 4731, Fall 2011 Due Date: Nov. 15, 2011 Total Points: 40 Note 1: Both the analytical problems and the programming assignments are due at the beginning of class on Nov 15,
More informationModular Representations of Graphs
Modular Representations of Graphs Crystal Altamirano, Stephanie Angus, Lauren Brown, Joseph Crawford, and Laura Gioco July 2011 Abstract A graph G has a representation modulo r if there exists an injective
More informationNetwork Flow I. Lecture Overview The Network Flow Problem
Lecture Network Flow I. Overview In these next two lectures we are going to talk about an important algorithmic problem called the Network Flow Problem. Network flow is important because it can be used
More informationEdges and Binary Images
CS 699: Intro to Computer Vision Edges and Binary Images Prof. Adriana Kovashka University of Pittsburgh September 5, 205 Plan for today Edge detection Binary image analysis Homework Due on 9/22, :59pm
More information9.1 Cook-Levin Theorem
CS787: Advanced Algorithms Scribe: Shijin Kong and David Malec Lecturer: Shuchi Chawla Topic: NP-Completeness, Approximation Algorithms Date: 10/1/2007 As we ve already seen in the preceding lecture, two
More informationThis is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS
1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be
More informationAn exact algorithm for max-cut in sparse graphs
An exact algorithm for max-cut in sparse graphs F. Della Croce a M. J. Kaminski b, V. Th. Paschos c a D.A.I., Politecnico di Torino, Italy b RUTCOR, Rutgers University c LAMSADE, CNRS UMR 7024 and Université
More informationCS246: Mining Massive Datasets Jure Leskovec, Stanford University
CS46: Mining Massive Datasets Jure Leskovec, Stanford University http://cs46.stanford.edu /7/ Jure Leskovec, Stanford C46: Mining Massive Datasets Many real-world problems Web Search and Text Mining Billions
More informationTexture. Texture is a description of the spatial arrangement of color or intensities in an image or a selected region of an image.
Texture Texture is a description of the spatial arrangement of color or intensities in an image or a selected region of an image. Structural approach: a set of texels in some regular or repeated pattern
More informationDigital Image Processing COSC 6380/4393
Digital Image Processing COSC 6380/4393 Lecture 6 Sept 6 th, 2017 Pranav Mantini Slides from Dr. Shishir K Shah and Frank (Qingzhong) Liu Today Review Logical Operations on Binary Images Blob Coloring
More information