Video 9.1 Jianbo Shi. Property of Penn Engineering, Jianbo Shi

Size: px
Start display at page:

Download "Video 9.1 Jianbo Shi. Property of Penn Engineering, Jianbo Shi"

Transcription

1 Video 9.1 Jianbo Shi 1

2 Exmples of resizing 2

3

4 (a) (b) (c) Guess We use crop, scaling and carving for resizing the given image Guess which one is for carving? 4

5 5

6 6

7 Guess which one is for carving? 7

8 8

9 Guess which one is for carving? 9

10 10

11 11

12 12

13 13

14 Expanded 14

15 15

16 16

17 17

18 18

19 Video 9.2 Jianbo Shi 19

20 20

21 21

22 22

23 k Energy matrix e M i-1 i N Seam: 1 y S : s.t. (i,y(i)) i = 1,...,M y(i) y(i ) k 23

24 k Energy matrix e M i-1 i N 1 y S : s.t. (i,y(i)) i = 1,...,M y(i) y(i ) k Seam Cost: y S M y S i i 1 E ( ) = e ( ( )) 24

25 > k Energy matrix e M i-1 i N Seam S y : i, y i i = 1,, M s. t. y i y(i 1) k Seam Cost: y S M y S i i 1 E ( ) = e ( ( )) Goal: S * = E y min ( S )

26 Where does the energy matrix come from? 26

27 abs Energy matrix e + = abs Energy matrix For example: L1 norm of the edge gradients for the energy function 27

28 How to find the best seam? 28

29 M i-1 i k Energy matrix e N Idea 1: Brute force search i-1 1 st row: N i i+1 2 nd row: 3 rd row: M th row: ( 2k 1)N 2 ( 2k 1) N 1 ( 2k 1) ( M ) N How many possibilities for Seam S y? 29

30 M i-1 i k Energy matrix e N Idea 1: Brute force search i-1 M th row: 1 ( 2k 1) ( M ) N i Given M = 768, N = 1024, k = 1 i+1 How many possibilities for Seam S y?

31 Too many possibilities!

32 M N Idea 2: Find the shortest path from first row to the the last row in the energy domain! 32

33 i row i + 1 row Construct the directed graph where each pixel (node) is connected to the (2k+1) neighbors in the next row 33

34 1 st row V (u) Create an `interior set S, initialize with the first row Growing S with `least-resistant step Construct a Value matrix with value V (u) encoding the shortest path cost to each node in S 34

35 1 st row S Initialize to include the first row, and set the Value function V (u) = e(u),u S For the first row, the shortest path contains only itself 35

36 1 st row S u ~ S v Iterate: find the step expansion of least resistant from v = argmin[ V(u) e (v)] where (u v) is a graph edge ~ u S,v S S ~ S 36

37 1 st row S u ~ S v Iterate: find the step expansion of least resistant from u S,v S Remember the path back from (v u) S ~ v = argmin[ V(u) e (v)] where (u v) is a graph edge ~ P(v) u S 37

38 1 st row S ~ S Updating the interior set: ~ ~ S= S v, S S- v. Updating the Value function: V (v) = min[ V(u) e (v)] V(v) : Is the contingent cost E of the shortest path connecting the pixel v to the first row v S ~ 38

39 1 st row S ~ S Updating the interior set: ~ ~ S= S v, S S- v. Updating the Value function: V (v) = min[ V(u) e (v)] ~ v S Until reaching one of the pixels on the last row. 39

40 Energy Matrix e Value functionv(u) Path Matrix P 40

41 Video 9.3 Jianbo Shi 41

42 Dynamic Programming Frontier growing row by row 42

43 M N Idea 3: Dynamic programming! 43

44 i row i + 1 row Use the same graph structure Propagate the frontier row by row to construct the Value Matrix 44

45 1 st row Value Matrix V Path Matrix P Still start from first row, and initialize the Value function V ( 1, j) = e( 1, j) Set the Path function P ( 1, j) = 0 45

46 1 st row Updated Propagate to the second row, and update the value matrix V ( 2, j) = e( 2, j ) min( V(1,j-k),, V(1,j),, V(1,j+k)) V( 2j, ): Is the contingent cost of the shortest path connecting the pixel (2,j) to the first row 46

47 1 st row Value Matrix V Updated Path Matrix P Propagate to the second row, and update the value matrix V ( 2, j) = e( 2, j ) min( V(1,j-k),, V(1,j),, V(1,j+k)) Set the Path function P ( 2, j ) = argmin( V(1,j-k),, V(1,j),, V(1,j+k)) 47

48 Updated Iteratively propagate to the ith row, and update the value matrix V ( i, j) = e( i, j ) min( V(i-1,j-k),, V(i-1,j),, V(i-1,j+k)) Set the Path function P ( i, j ) = argmin( V(i-1,j-k),, V(i-1,j),, V(i-1,j+k)) 48

49 Value Matrix V Energy Matrix e Path Matrix P 49

50 Value Matrix V Path Matrix P Localize the minimum of the last row of argmin V ( M:, ) 50

51 Value Matrix V Path Matrix P

52 Value Matrix V Path Matrix P

53 Value Matrix V Path Matrix P

54 Value Matrix V Path Matrix P

55 Value Matrix V Path Matrix P Since V is the contingency table, we can start from any pixel and find a shortest path to the first row! 55

56 Video 9.4 Jianbo Shi 56

57 Illustration for synthetic case 57

58 Energy matrix 58

59 Value matrix Energy matrix Goal: Construct value and path matrix from the energy matrix Value matrix records the energy of the shortest path from the starting row to the current pixel 59

60 Value matrix Energy matrix Goal 1: Construct Value matrix from the energy matrix Value matrix records the energy of the shortest path from the starting row to the current pixel Property: every entry encodes the minimal shortest path to that node from starting row 60

61 Goal 2: Construct Path matrix The Path matrix records the immediate predecessor in the shortest path, for every node 61

62 e: energy function Energy function Energy function records the cost of a pixel. Typically it is the image gradient magnitude

63 How to generate the two matrices? 63

64 Energy matrix Step1: Initializing two matrices Set value and path matrix the same size as the energy matrix Initialize its first row of Value matrix with that of the energy matrix Initialize its first row of path matrix to zero 64

65 Value matrix V Step2: Propagation Start with 2 nd row, and propagate row by row 65

66 Value matrix V ? Step2: Propagation Start with 2 nd row 66

67 Neighborhoods of the pixel in previous row Value matrix Step2: Propagation Start with 2 nd row Find the neighbors of the pixel in the previous row 67

68 Value matrix V V 2,1 = min V (1,1) V(1,2) + e 2, Step2: Propagation Start with 2 nd row Find the neighbors of the pixel in the previous row Find the minimum among neighbors 68

69 Step2: Propagation Start with 2 nd row Find the neighbors of the pixel in the previous row Find the minimum among neighbors, record it in Path matrix 69

70 Energy matrix Value matrix V V 2,1 = min V (1,1) V(1,2) + e 2, = Step2: Propagation Start with 2 nd row, Find the neighbors of the pixel in the previous row Find the minimum among neighbors Add the energy value of the pixel with the minimum 70

71 Value matrix V ? Step2: Propagation for every row 71

72 Neighborhoods of the pixel in previous row Value matrix V ? Step2: Propagation for every row Find the neighbors of the pixel in the previous row 72

73 Value matrix V min V(i 1, j 1) V (i 1, j) V(i 1, j + 1) + e i, j ? Find the neighbors of the pixel in the previous row Find the minimum among neighbors 73

74 Find the neighbors of the pixel in the previous row Find the minimum among neighbors, record it in Path matrix 74

75 Value matrix V min V(i 1, j 1) V (i 1, j) V(i 1, j + 1) + e i, j ? Find the neighbors of the pixel in the previous row Find the minimum among neighbors Add the energy value of the pixel with the minimum 75

76 Value matrix V ? 6 = Find the neighbors of the pixel in the previous row Get the minimum among neighbors Add the energy value of the pixel with the minimum 76

77 Value matrix Step3: path resolving Path matrix

78 Value matrix Find the minimum of the last row of the Value matrix, Find the predecessor of that pixel 78

79 Value matrix Path matrix Find the minimum of the last row of the Value matrix, Find the predecessor of that pixel, using Path matrix 79

80 Value matrix Path matrix Move to its predecessor

81 Value matrix Path matrix Follow predecessor of current pixel,

82 Value matrix Path matrix Move to its predecessor

83 Value matrix Path matrix Find the predecessor of current pixel

84 Value matrix Path matrix Move to its predecessor

85 Value matrix Path matrix Find the predecessor of current pixel

86 Value matrix Path matrix Stop when reaching the first row

87 Value matrix Path matrix Seam carving is to delete the path with minimum cost 87

88 Value matrix Path matrix Seam carving is to delete the path with minimum cost 88

89 Energy matrix Seam carving is to delete the path with minimum cost 89

90 Carved energy matrix Seam carving is to delete the path with minimum cost 90

91 Value matrix Path matrix What if we want to remove a seam that ends on particular pixel? 91

92 Video 9.5 Jianbo Shi 92

93 Illustration on a real image 93

94 Step 0: prepare the energy function Transform a color image into gray, Im = rgb2gray(im) Calculate image gradients Use the L1 norm of the gradients for the energy function 94

95 abs Energy matrix e + = abs Step 0: prepare the energy function Transform a color image into gray, Im = rgb2gray(im) Calculate the gradients Use the L1 norm of the gradients for the energy function 95

96 Value Matrix V Energy matrix e Path Matrix P V :, 1 = e(:, 1) P :, 1 = 0 Step 1: Initializing two matrices Set value and path matrix the same size as the energy matrix Initialize the first column of value matrix with that of the energy matrix Initialize the first column of path matrix to zero 96

97 min V(i 1, j 1) V (i, j 1) V(i + 1, j 1) + e i, j Step 2: Propagation Start with 2 nd column Find the neighbors of the pixel in the previous column Find the minimum among neighbors Add the energy value of the pixel with the minimum 97

98 Step 2: Propagation Start with 2 nd column Find the neighbors of the pixel in the previous column Find the minimum among neighbors Add the energy value of the pixel with the minimum Assign the direction of the minimum to path matrix 98

99 Step 3: Path Resolving Find the minimum of the last column of the Value matrix, Find the predecessor of that pixel, using Path matrix Trace back to complete the path using the Path matrix 99

100 Step3: Path Resolving Find the minimum of the last column of the Value matrix, Find the predecessor of that pixel, using Path matrix Trace back to complete the path using the Path matrix 100

101 Step 4: Eliminate the Seam 101

102 102

103 103

104 104

105 105

106 106

107 107

108 108

109 109

110 110

111 111

112 112

113 113

114 114

115 115

116 116

117 117

118 118

119 119

Dynamic Programming. CIS 110, Fall University of Pennsylvania

Dynamic Programming. CIS 110, Fall University of Pennsylvania Dynamic Programming CIS 110, Fall 2012 University of Pennsylvania Dynamic Programming Dynamic programming records saves computation for reuse later. Programming: in the optimization sense ( Linear Programming

More information

Image gradients and edges April 10 th, 2018

Image gradients and edges April 10 th, 2018 Image gradients and edges April th, 28 Yong Jae Lee UC Davis PS due this Friday Announcements Questions? 2 Last time Image formation Linear filters and convolution useful for Image smoothing, removing

More information

Image gradients and edges April 11 th, 2017

Image gradients and edges April 11 th, 2017 4//27 Image gradients and edges April th, 27 Yong Jae Lee UC Davis PS due this Friday Announcements Questions? 2 Last time Image formation Linear filters and convolution useful for Image smoothing, removing

More information

Content-Aware Image Resizing

Content-Aware Image Resizing Content-Aware Image Resizing EE368 Project Report Parnian Zargham Stanford University Electrical Engineering Department Stanford, CA pzargham@stanford.edu Sahar Nassirpour Stanford University Electrical

More information

How Routing Algorithms Work

How Routing Algorithms Work How Routing Algorithms Work A router is used to manage network traffic and find the best route for sending packets. But have you ever thought about how routers do this? Routers need to have some information

More information

Practical Session No. 12 Graphs, BFS, DFS, Topological sort

Practical Session No. 12 Graphs, BFS, DFS, Topological sort Practical Session No. 12 Graphs, BFS, DFS, Topological sort Graphs and BFS Graph G = (V, E) Graph Representations (V G ) v1 v n V(G) = V - Set of all vertices in G E(G) = E - Set of all edges (u,v) in

More information

Image gradients and edges

Image gradients and edges Image gradients and edges April 7 th, 2015 Yong Jae Lee UC Davis Announcements PS0 due this Friday Questions? 2 Last time Image formation Linear filters and convolution useful for Image smoothing, removing

More information

Lecture #9: Image Resizing and Segmentation

Lecture #9: Image Resizing and Segmentation Lecture #9: Image Resizing and Segmentation Mason Swofford, Rachel Gardner, Yue Zhang, Shawn Fenerin Department of Computer Science Stanford University Stanford, CA 94305 {mswoff, rachel0, yzhang16, sfenerin}@cs.stanford.edu

More information

technique: seam carving Image and Video Processing Chapter 9

technique: seam carving Image and Video Processing Chapter 9 Chapter 9 Seam Carving for Images and Videos Distributed Algorithms for 2 Introduction Goals Enhance the visual content of images Adapted images should look natural Most relevant content should be clearly

More information

Midterm Examination CS 534: Computational Photography

Midterm Examination CS 534: Computational Photography Midterm Examination CS 534: Computational Photography November 3, 2016 NAME: Problem Score Max Score 1 6 2 8 3 9 4 12 5 4 6 13 7 7 8 6 9 9 10 6 11 14 12 6 Total 100 1 of 8 1. [6] (a) [3] What camera setting(s)

More information

CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms

CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms Professor Henry Carter Fall 2016 Recap Space-time tradeoffs allow for faster algorithms at the cost of space complexity

More information

Supervised vs.unsupervised Learning

Supervised vs.unsupervised Learning Supervised vs.unsupervised Learning In supervised learning we train algorithms with predefined concepts and functions based on labeled data D = { ( x, y ) x X, y {yes,no}. In unsupervised learning we are

More information

Texture. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors

Texture. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors Texture The most fundamental question is: How can we measure texture, i.e., how can we quantitatively distinguish between different textures? Of course it is not enough to look at the intensity of individual

More information

Lecture 11: E-M and MeanShift. CAP 5415 Fall 2007

Lecture 11: E-M and MeanShift. CAP 5415 Fall 2007 Lecture 11: E-M and MeanShift CAP 5415 Fall 2007 Review on Segmentation by Clustering Each Pixel Data Vector Example (From Comanciu and Meer) Review of k-means Let's find three clusters in this data These

More information

Image Resizing & Seamcarve. CS16: Introduction to Algorithms & Data Structures

Image Resizing & Seamcarve. CS16: Introduction to Algorithms & Data Structures Image Resizing & Seamcarve CS16: Introduction to Algorithms & Data Structures Outline Image resizing Seamcarve 3 4 Image Resizing Q: How can you resize an image w/o affecting proportions? 5 Image Resizing

More information

Chapter 14 Section 3 - Slide 1

Chapter 14 Section 3 - Slide 1 AND Chapter 14 Section 3 - Slide 1 Chapter 14 Graph Theory Chapter 14 Section 3 - Slide WHAT YOU WILL LEARN Graphs, paths and circuits The Königsberg bridge problem Euler paths and Euler circuits Hamilton

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #16 Loops: Matrix Using Nested for Loop

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #16 Loops: Matrix Using Nested for Loop Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #16 Loops: Matrix Using Nested for Loop In this section, we will use the, for loop to code of the matrix problem.

More information

In this edition of HowStuffWorks, we'll find out precisely what information is used by routers in determining where to send a packet.

In this edition of HowStuffWorks, we'll find out precisely what information is used by routers in determining where to send a packet. How Routing Algorithms Work by Roozbeh Razavi If you have read the HowStuffWorks article How Routers Work, then you know that a router is used to manage network traffic and find the best route for sending

More information

Det De e t cting abnormal event n s Jaechul Kim

Det De e t cting abnormal event n s Jaechul Kim Detecting abnormal events Jaechul Kim Purpose Introduce general methodologies used in abnormality detection Deal with technical details of selected papers Abnormal events Easy to verify, but hard to describe

More information

Filtering and Enhancing Images

Filtering and Enhancing Images KECE471 Computer Vision Filtering and Enhancing Images Chang-Su Kim Chapter 5, Computer Vision by Shapiro and Stockman Note: Some figures and contents in the lecture notes of Dr. Stockman are used partly.

More information

Idea. Found boundaries between regions (edges) Didn t return the actual region

Idea. Found boundaries between regions (edges) Didn t return the actual region Region Segmentation Idea Edge detection Found boundaries between regions (edges) Didn t return the actual region Segmentation Partition image into regions find regions based on similar pixel intensities,

More information

Introduction. I Given a weighted, directed graph G =(V, E) with weight function

Introduction. I Given a weighted, directed graph G =(V, E) with weight function ntroduction Computer Science & Engineering 2/82 Design and Analysis of Algorithms Lecture 06 Single-Source Shortest Paths (Chapter 2) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu

More information

Image Resizing Based on Gradient Vector Flow Analysis

Image Resizing Based on Gradient Vector Flow Analysis Image Resizing Based on Gradient Vector Flow Analysis Sebastiano Battiato battiato@dmi.unict.it Giovanni Puglisi puglisi@dmi.unict.it Giovanni Maria Farinella gfarinellao@dmi.unict.it Daniele Ravì rav@dmi.unict.it

More information

Wook Kim. 14 September Korea University Computer Graphics Lab.

Wook Kim. 14 September Korea University Computer Graphics Lab. Wook Kim 14 September 2011 Preview - Seam carving How to choose the pixels to be removed? Remove unnoticeable pixels that blend with their surroundings. Wook, Kim 14 September 2011 # 2 Preview Energy term

More information

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

Computer Science & Engineering 423/823 Design and Analysis of Algorithms Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 07 Single-Source Shortest Paths (Chapter 24) Stephen Scott and Vinodchandran N. Variyam sscott@cse.unl.edu 1/36 Introduction

More information

Linear Operations Using Masks

Linear Operations Using Masks Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute some result at that pixel Expressing linear operations on neighborhoods

More information

Segmentation and Grouping

Segmentation and Grouping Segmentation and Grouping How and what do we see? Fundamental Problems ' Focus of attention, or grouping ' What subsets of pixels do we consider as possible objects? ' All connected subsets? ' Representation

More information

Texture Sensitive Image Inpainting after Object Morphing

Texture Sensitive Image Inpainting after Object Morphing Texture Sensitive Image Inpainting after Object Morphing Yin Chieh Liu and Yi-Leh Wu Department of Computer Science and Information Engineering National Taiwan University of Science and Technology, Taiwan

More information

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014 SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014 SIFT SIFT: Scale Invariant Feature Transform; transform image

More information

Project #1 Seam Carving

Project #1 Seam Carving Project #1 Seam Carving Out: Fri, Jan 19 In: 1 Installing, Handing In, Demos, and Location of Documentation 1. To install, type cs016 install seamcarve into a shell in the directory in which you want the

More information

EE266 Homework 8 Solutions

EE266 Homework 8 Solutions EE266, Spring 2014-15 Professor S. Lall EE266 Homework 8 Solutions 1. Dijkstra s Algorithm. In this problem, you will write an implementation of Dijkstra s algorithm, and use it to find the shortest path

More information

METHODS FOR TARGET DETECTION IN SAR IMAGES

METHODS FOR TARGET DETECTION IN SAR IMAGES METHODS FOR TARGET DETECTION IN SAR IMAGES Kaan Duman Supervisor: Prof. Dr. A. Enis Çetin December 18, 2009 Bilkent University Dept. of Electrical and Electronics Engineering Outline Introduction Target

More information

Scott Smith Advanced Image Processing March 15, Speeded-Up Robust Features SURF

Scott Smith Advanced Image Processing March 15, Speeded-Up Robust Features SURF Scott Smith Advanced Image Processing March 15, 2011 Speeded-Up Robust Features SURF Overview Why SURF? How SURF works Feature detection Scale Space Rotational invariance Feature vectors SURF vs Sift Assumptions

More information

Graphs, graph algorithms (for image segmentation),... in progress

Graphs, 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 information

Computational Methods CMSC/AMSC/MAPL 460. Vectors, Matrices, Linear Systems, LU Decomposition, Ramani Duraiswami, Dept. of Computer Science

Computational Methods CMSC/AMSC/MAPL 460. Vectors, Matrices, Linear Systems, LU Decomposition, Ramani Duraiswami, Dept. of Computer Science Computational Methods CMSC/AMSC/MAPL 460 Vectors, Matrices, Linear Systems, LU Decomposition, Ramani Duraiswami, Dept. of Computer Science Zero elements of first column below 1 st row multiplying 1 st

More information

Initialization: Loop until all nodes in N

Initialization: Loop until all nodes in N Routing Routing lgorithm classification Routing protocol Goal: determine good path (sequence of routers) thru netork from source to dest. Graph abstraction for routing s: graph nodes are routers graph

More information

Image gradients and edges

Image gradients and edges Image gradients and edges Thurs Sept 3 Prof. Kristen Grauman UT-Austin Last time Various models for image noise Linear filters and convolution useful for Image smoothing, remov ing noise Box filter Gaussian

More information

What is Routing? EE 122: Shortest Path Routing. Example. Internet Routing. Ion Stoica TAs: Junda Liu, DK Moon, David Zats

What is Routing? EE 122: Shortest Path Routing. Example. Internet Routing. Ion Stoica TAs: Junda Liu, DK Moon, David Zats What is Routing? Routing implements the core function of a network: : Shortest Path Routing Ion Stoica Ts: Junda Liu, K Moon, avid Zats http://inst.eecs.berkeley.edu/~ee/fa9 (Materials with thanks to Vern

More information

Spectral Clustering. Presented by Eldad Rubinstein Based on a Tutorial by Ulrike von Luxburg TAU Big Data Processing Seminar December 14, 2014

Spectral Clustering. Presented by Eldad Rubinstein Based on a Tutorial by Ulrike von Luxburg TAU Big Data Processing Seminar December 14, 2014 Spectral Clustering Presented by Eldad Rubinstein Based on a Tutorial by Ulrike von Luxburg TAU Big Data Processing Seminar December 14, 2014 What are we going to talk about? Introduction Clustering and

More information

2.3.4 Optimal paths in directed acyclic graphs

2.3.4 Optimal paths in directed acyclic graphs .3.4 Optimal paths in directed acyclic graphs Definition: A directed graph G = (N, A) is acyclic if it contains no circuits. A directed acyclic graph is referred to as DAG. circuit Problem Given a directed

More information

Seam-Carving. Michael Rubinstein MIT. and Content-driven Retargeting of Images (and Video) Some slides borrowed from Ariel Shamir and Shai Avidan

Seam-Carving. Michael Rubinstein MIT. and Content-driven Retargeting of Images (and Video) Some slides borrowed from Ariel Shamir and Shai Avidan Seam-Carving and Content-driven Retargeting of Images (and Video) Michael Rubinstein MIT Some slides borrowed from Ariel Shamir and Shai Avidan Display Devices Content Retargeting PC iphone Page Layout

More information

Function Approximation. Pieter Abbeel UC Berkeley EECS

Function Approximation. Pieter Abbeel UC Berkeley EECS Function Approximation Pieter Abbeel UC Berkeley EECS Outline Value iteration with function approximation Linear programming with function approximation Value Iteration Algorithm: Start with for all s.

More information

Today. Motivation. Motivation. Image gradient. Image gradient. Computational Photography

Today. Motivation. Motivation. Image gradient. Image gradient. Computational Photography Computational Photography Matthias Zwicker University of Bern Fall 009 Today Gradient domain image manipulation Introduction Gradient cut & paste Tone mapping Color-to-gray conversion Motivation Cut &

More information

Fast and Adaptive Pairwise Similarities for Graph Cuts-based Image Segmentation

Fast and Adaptive Pairwise Similarities for Graph Cuts-based Image Segmentation Fast and Adaptive Pairwise Similarities for Graph Cuts-based Image Segmentation Baris Sumengen UC, Santa Barbara Santa Barbara, CA 931 sumengen@ece.ucsb.edu Luca Bertelli UC, Santa Barbara Santa Barbara,

More information

Transformations: 2D Transforms

Transformations: 2D Transforms 1. Translation Transformations: 2D Transforms Relocation of point WRT frame Given P = (x, y), translation T (dx, dy) Then P (x, y ) = T (dx, dy) P, where x = x + dx, y = y + dy Using matrix representation

More information

Computer Vision : Exercise 4 Labelling Problems

Computer Vision : Exercise 4 Labelling Problems Computer Vision Exercise 4 Labelling Problems 13/01/2014 Computer Vision : Exercise 4 Labelling Problems Outline 1. Energy Minimization (example segmentation) 2. Iterated Conditional Modes 3. Dynamic Programming

More information

Robust image recovery via total-variation minimization

Robust image recovery via total-variation minimization Robust image recovery via total-variation minimization Rachel Ward University of Texas at Austin (Joint work with Deanna Needell, Claremont McKenna College) February 16, 2012 2 Images are compressible

More information

Column-Action Methods in Image Reconstruction

Column-Action Methods in Image Reconstruction Column-Action Methods in Image Reconstruction Per Christian Hansen joint work with Tommy Elfving Touraj Nikazad Overview of Talk Part 1: the classical row-action method = ART The advantage of algebraic

More information

CS 231A Computer Vision (Autumn 2012) Problem Set 1

CS 231A Computer Vision (Autumn 2012) Problem Set 1 CS 231A Computer Vision (Autumn 2012) Problem Set 1 Due: Oct. 9 th, 2012 (2:15 pm) 1 Finding an Approximate Image asis EigenFaces (25 points) In this problem you will implement a solution to a facial recognition

More information

Tracking system. Danica Kragic. Object Recognition & Model Based Tracking

Tracking system. Danica Kragic. Object Recognition & Model Based Tracking Tracking system Object Recognition & Model Based Tracking Motivation Manipulating objects in domestic environments Localization / Navigation Object Recognition Servoing Tracking Grasping Pose estimation

More information

EE365 Homework 8. (a) A key step in Dijkstra s algorithm is computing the neighbors of a vertex x:

EE365 Homework 8. (a) A key step in Dijkstra s algorithm is computing the neighbors of a vertex x: EE365, Spring 2013-14 Professor S. Lall EE365 Homework 8 1. Dijkstra s Algorithm. In this problem, you will write an implementation of Dijkstra s algorithm, and use it to find the shortest path in a social

More information

Previously. Edge detection. Today. Thresholding. Gradients -> edges 2/1/2011. Edges and Binary Image Analysis

Previously. Edge detection. Today. Thresholding. Gradients -> edges 2/1/2011. Edges and Binary Image Analysis 2//20 Previously Edges and Binary Image Analysis Mon, Jan 3 Prof. Kristen Grauman UT-Austin Filters allow local image neighborhood to influence our description and features Smoothing to reduce noise Derivatives

More information

Graph Data Processing with MapReduce

Graph Data Processing with MapReduce Distributed data processing on the Cloud Lecture 5 Graph Data Processing with MapReduce Satish Srirama Some material adapted from slides by Jimmy Lin, 2015 (licensed under Creation Commons Attribution

More information

CSE 101, Winter Design and Analysis of Algorithms. Lecture 11: Dynamic Programming, Part 2

CSE 101, Winter Design and Analysis of Algorithms. Lecture 11: Dynamic Programming, Part 2 CSE 101, Winter 2018 Design and Analysis of Algorithms Lecture 11: Dynamic Programming, Part 2 Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Goal: continue with DP (Knapsack, All-Pairs SPs, )

More information

Connected components - 1

Connected components - 1 Connected Components Basic definitions Connectivity, Adjacency, Connected Components Background/Foreground, Boundaries Run-length encoding Component Labeling Recursive algorithm Two-scan algorithm Chain

More information

Visual Media Retargeting

Visual Media Retargeting Visual Media Retargeting Ariel Shamir The Interdisciplinary Center, Herzliya Olga Sorkine New York University operators. We will present several ways to define importance maps that use spatial information

More information

EE 122: Intra-domain routing

EE 122: Intra-domain routing EE : Intra-domain routing Ion Stoica September 0, 00 (* this presentation is based on the on-line slides of J. Kurose & K. Rose) Internet Routing Internet organized as a two level hierarchy First level

More information

Content Aware Image Resizing Using

Content Aware Image Resizing Using Al Akhawayn University Capstone Project Content Aware Image Resizing Using Seam Carving Ayman Bentourki supervised by Dr. Naeem Sheikh May 3, 2016 Contents 1 Abstract.......................................

More information

CS50 Dynamic Programming

CS50 Dynamic Programming CS50 Dynamic Programming Benedict Brown Dept. of Computer Science, Yale University Dynamic Programming Dynamic programming records saves computation for reuse later. Programming: in the optimization sense

More information

Shift-Map Image Editing

Shift-Map Image Editing Shift-Map Image Editing Yael Pritch Eitam Kav-Venaki Shmuel Peleg School of Computer Science and Engineering The Hebrew University of Jerusalem 91904 Jerusalem, Israel Abstract Geometric rearrangement

More information

Dynamic Programming 1

Dynamic Programming 1 Dynamic Programming 1 Jie Wang University of Massachusetts Lowell Department of Computer Science 1 I thank Prof. Zachary Kissel of Merrimack College for sharing his lecture notes with me; some of the examples

More information

What are advanced filters? Lecture 19 Write Your Own ITK Filters, Part2. Different output size. Details, details. Changing the input requested region

What are advanced filters? Lecture 19 Write Your Own ITK Filters, Part2. Different output size. Details, details. Changing the input requested region What are advanced filters? Lecture 19 Write Your Own ITK Filters, Part2 More than one input Support progress methods Output image is a different size than input Multi-threaded Methods in Medical Image

More information

Robust Principal Component Analysis (RPCA)

Robust Principal Component Analysis (RPCA) Robust Principal Component Analysis (RPCA) & Matrix decomposition: into low-rank and sparse components Zhenfang Hu 2010.4.1 reference [1] Chandrasekharan, V., Sanghavi, S., Parillo, P., Wilsky, A.: Ranksparsity

More information

Improved image segmentation for tracking salt boundaries

Improved image segmentation for tracking salt boundaries Stanford Exploration Project, Report 115, May 22, 2004, pages 357 366 Improved image segmentation for tracking salt boundaries Jesse Lomask, Biondo Biondi and Jeff Shragge 1 ABSTRACT Normalized cut image

More information

Lecture #7. 1 Introduction. 2 Dijkstra s Correctness. COMPSCI 330: Design and Analysis of Algorithms 9/16/2014

Lecture #7. 1 Introduction. 2 Dijkstra s Correctness. COMPSCI 330: Design and Analysis of Algorithms 9/16/2014 COMPSCI 330: Design and Analysis of Algorithms 9/16/2014 Lecturer: Debmalya Panigrahi Lecture #7 Scribe: Nat Kell 1 Introduction In this lecture, we will further examine shortest path algorithms. We will

More information

Visual Tracking (1) Pixel-intensity-based methods

Visual Tracking (1) Pixel-intensity-based methods Intelligent Control Systems Visual Tracking (1) Pixel-intensity-based methods Shingo Kagami Graduate School of Information Sciences, Tohoku University swk(at)ic.is.tohoku.ac.jp http://www.ic.is.tohoku.ac.jp/ja/swk/

More information

Homework #1. Displays, Image Processing, Affine Transformations, Hierarchical modeling, Projections

Homework #1. Displays, Image Processing, Affine Transformations, Hierarchical modeling, Projections Computer Graphics Instructor: rian Curless CSEP 557 Winter 213 Homework #1 Displays, Image Processing, Affine Transformations, Hierarchical modeling, Projections Assigned: Tuesday, January 22 nd Due: Tuesday,

More information

Lecture Notes 2: The Simplex Algorithm

Lecture Notes 2: The Simplex Algorithm Algorithmic Methods 25/10/2010 Lecture Notes 2: The Simplex Algorithm Professor: Yossi Azar Scribe:Kiril Solovey 1 Introduction In this lecture we will present the Simplex algorithm, finish some unresolved

More information

EE 584 MACHINE VISION

EE 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 information

EE 701 ROBOT VISION. Segmentation

EE 701 ROBOT VISION. Segmentation EE 701 ROBOT VISION Regions and Image Segmentation Histogram-based Segmentation Automatic Thresholding K-means Clustering Spatial Coherence Merging and Splitting Graph Theoretic Segmentation Region Growing

More information

MULTI ORIENTATION PERFORMANCE OF FEATURE EXTRACTION FOR HUMAN HEAD RECOGNITION

MULTI ORIENTATION PERFORMANCE OF FEATURE EXTRACTION FOR HUMAN HEAD RECOGNITION MULTI ORIENTATION PERFORMANCE OF FEATURE EXTRACTION FOR HUMAN HEAD RECOGNITION Panca Mudjirahardjo, Rahmadwati, Nanang Sulistiyanto and R. Arief Setyawan Department of Electrical Engineering, Faculty of

More information

Sharpening through spatial filtering

Sharpening through spatial filtering Sharpening through spatial filtering Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Methods for Image Processing academic year 2017 2018 Sharpening The term sharpening is referred

More information

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar. Matching Compare region of image to region of image. We talked about this for stereo. Important for motion. Epipolar constraint unknown. But motion small. Recognition Find object in image. Recognize object.

More information

Epipolar Geometry and Stereo Vision

Epipolar Geometry and Stereo Vision Epipolar Geometry and Stereo Vision Computer Vision Jia-Bin Huang, Virginia Tech Many slides from S. Seitz and D. Hoiem Last class: Image Stitching Two images with rotation/zoom but no translation. X x

More information

Volume Illumination. Visualisation Lecture 11. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Volume Illumination. Visualisation Lecture 11. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics Volume Illumination Visualisation Lecture 11 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Taku Komura Volume Illumination & Vector Vis. 1 Previously : Volume Rendering

More information

Advanced Algorithm Design and Analysis (Lecture 5) SW5 fall 2007 Simonas Šaltenis

Advanced Algorithm Design and Analysis (Lecture 5) SW5 fall 2007 Simonas Šaltenis Advanced Algorithm Design and Analysis (Lecture 5) SW5 fall 2007 Simonas Šaltenis 3.2.12 simas@cs.aau.dk All-pairs shortest paths Main goals of the lecture: to go through one more example of dynamic programming

More information

Motion Detection. Final project by. Neta Sokolovsky

Motion Detection. Final project by. Neta Sokolovsky Motion Detection Final project by Neta Sokolovsky Introduction The goal of this project is to recognize a motion of objects found in the two given images. This functionality is useful in the video processing

More information

Graph Theory. Part of Texas Counties.

Graph Theory. Part of Texas Counties. Graph Theory Part of Texas Counties. We would like to visit each of the above counties, crossing each county only once, starting from Harris county. Is this possible? This problem can be modeled as a graph.

More information

Computational Methods CMSC/AMSC/MAPL 460. Vectors, Matrices, Linear Systems, LU Decomposition, Ramani Duraiswami, Dept. of Computer Science

Computational Methods CMSC/AMSC/MAPL 460. Vectors, Matrices, Linear Systems, LU Decomposition, Ramani Duraiswami, Dept. of Computer Science Computational Methods CMSC/AMSC/MAPL 460 Vectors, Matrices, Linear Systems, LU Decomposition, Ramani Duraiswami, Dept. of Computer Science Some special matrices Matlab code How many operations and memory

More information

Detection of Seam Carving and Localization of Seam Insertions in Digital Images

Detection of Seam Carving and Localization of Seam Insertions in Digital Images Detection of Seam Carving and Localization of Seam Insertions in Digital Images Anindya Sarkar, Lakshmanan Nataraj and B. S. Manjunath Vision Research Laboratory University of California, Santa Barbara

More information

Motion. 1 Introduction. 2 Optical Flow. Sohaib A Khan. 2.1 Brightness Constancy Equation

Motion. 1 Introduction. 2 Optical Flow. Sohaib A Khan. 2.1 Brightness Constancy Equation Motion Sohaib A Khan 1 Introduction So far, we have dealing with single images of a static scene taken by a fixed camera. Here we will deal with sequence of images taken at different time intervals. Motion

More information

Laplacian Operator and Smoothing

Laplacian Operator and Smoothing Laplacian Operator and Smoothing Xifeng Gao Acknowledgements for the slides: Olga Sorkine-Hornung, Mario Botsch, and Daniele Panozzo Applications in Geometry Processing Smoothing Parameterization Remeshing

More information

WAN Technology and Routing

WAN Technology and Routing PS 60 - Network Programming WN Technology and Routing Michele Weigle epartment of omputer Science lemson University mweigle@cs.clemson.edu March, 00 http://www.cs.clemson.edu/~mweigle/courses/cpsc60 WN

More information

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro CMU-Q 15-381 Lecture 4: Path Planning Teacher: Gianni A. Di Caro APPLICATION: MOTION PLANNING Path planning: computing a continuous sequence ( a path ) of configurations (states) between an initial configuration

More information

PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing

PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing Barnes et al. In SIGGRAPH 2009 발표이성호 2009 년 12 월 3 일 Introduction Image retargeting Resized to a new aspect ratio [Rubinstein

More information

UNIT 5 GRAPH. Application of Graph Structure in real world:- Graph Terminologies:

UNIT 5 GRAPH. Application of Graph Structure in real world:- Graph Terminologies: UNIT 5 CSE 103 - Unit V- Graph GRAPH Graph is another important non-linear data structure. In tree Structure, there is a hierarchical relationship between, parent and children that is one-to-many relationship.

More information

Second Semester - Question Bank Department of Computer Science Advanced Data Structures and Algorithms...

Second Semester - Question Bank Department of Computer Science Advanced Data Structures and Algorithms... Second Semester - Question Bank Department of Computer Science Advanced Data Structures and Algorithms.... Q1) Let the keys are 28, 47, 20, 36, 43, 23, 25, 54 and table size is 11 then H(28)=28%11=6; H(47)=47%11=3;

More information

Announcement. Project 2 extended to 2/20 midnight Project 3 available this weekend Homework 3 available today, will put it online

Announcement. Project 2 extended to 2/20 midnight Project 3 available this weekend Homework 3 available today, will put it online Announcement Project 2 extended to 2/20 midnight Project 3 available this weekend Homework 3 available today, will put it online Outline Introduction and Network Service Models Routing Principles Link

More information

Driven Cavity Example

Driven Cavity Example BMAppendixI.qxd 11/14/12 6:55 PM Page I-1 I CFD Driven Cavity Example I.1 Problem One of the classic benchmarks in CFD is the driven cavity problem. Consider steady, incompressible, viscous flow in a square

More information

A Comparative study on Algorithms for Shortest-Route Problem and Some Extensions

A Comparative study on Algorithms for Shortest-Route Problem and Some Extensions International Journal of Basic & Applied Sciences IJBAS-IJENS Vol: No: 0 A Comparative study on Algorithms for Shortest-Route Problem and Some Extensions Sohana Jahan, Md. Sazib Hasan Abstract-- The shortest-route

More information

COMPUTER AND ROBOT VISION

COMPUTER AND ROBOT VISION VOLUME COMPUTER AND ROBOT VISION Robert M. Haralick University of Washington Linda G. Shapiro University of Washington A^ ADDISON-WESLEY PUBLISHING COMPANY Reading, Massachusetts Menlo Park, California

More information

Kanade Lucas Tomasi Tracking (KLT tracker)

Kanade Lucas Tomasi Tracking (KLT tracker) Kanade Lucas Tomasi Tracking (KLT tracker) Tomáš Svoboda, svoboda@cmp.felk.cvut.cz Czech Technical University in Prague, Center for Machine Perception http://cmp.felk.cvut.cz Last update: November 26,

More information

Assignment 8 Solution

Assignment 8 Solution McGill University COMP360 Winter 2011 Instructor: Phuong Nguyen Assignment 8 Solution Question 1 (10pt) You are given a color picture consisting of an m n array A of pixels, where each pixel specifies

More information

Optical Flow-Based Motion Estimation. Thanks to Steve Seitz, Simon Baker, Takeo Kanade, and anyone else who helped develop these slides.

Optical Flow-Based Motion Estimation. Thanks to Steve Seitz, Simon Baker, Takeo Kanade, and anyone else who helped develop these slides. Optical Flow-Based Motion Estimation Thanks to Steve Seitz, Simon Baker, Takeo Kanade, and anyone else who helped develop these slides. 1 Why estimate motion? We live in a 4-D world Wide applications Object

More information

Project #1 Seamcarve

Project #1 Seamcarve Project #1 Seamcarve Out: Thursday, January 24 In: This is real, this is me Im exactly where I m supposed to be, now Gonna let the light, shine on me Now I ve found, who I am There s no way to hold it

More information

APPLICATION OF FLOYD-WARSHALL LABELLING TECHNIQUE: IDENTIFICATION OF CONNECTED PIXEL COMPONENTS IN BINARY IMAGE. Hyunkyung Shin and Joong Sang Shin

APPLICATION OF FLOYD-WARSHALL LABELLING TECHNIQUE: IDENTIFICATION OF CONNECTED PIXEL COMPONENTS IN BINARY IMAGE. Hyunkyung Shin and Joong Sang Shin Kangweon-Kyungki Math. Jour. 14 (2006), No. 1, pp. 47 55 APPLICATION OF FLOYD-WARSHALL LABELLING TECHNIQUE: IDENTIFICATION OF CONNECTED PIXEL COMPONENTS IN BINARY IMAGE Hyunkyung Shin and Joong Sang Shin

More information

Linear Programming. Readings: Read text section 11.6, and sections 1 and 2 of Tom Ferguson s notes (see course homepage).

Linear Programming. Readings: Read text section 11.6, and sections 1 and 2 of Tom Ferguson s notes (see course homepage). Linear Programming Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory: Feasible Set, Vertices, Existence of Solutions. Equivalent formulations. Outline

More information

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued. Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.

More information

Survey of contemporary Bayesian Network Structure Learning methods

Survey of contemporary Bayesian Network Structure Learning methods Survey of contemporary Bayesian Network Structure Learning methods Ligon Liu September 2015 Ligon Liu (CUNY) Survey on Bayesian Network Structure Learning (slide 1) September 2015 1 / 38 Bayesian Network

More information

Chapter 10 Image Segmentation. Yinghua He

Chapter 10 Image Segmentation. Yinghua He Chapter 10 Image Segmentation Yinghua He The whole is equal to the sum of its parts. -Euclid The whole is greater than the sum of its parts. -Max Wertheimer The Whole is Not Equal to the Sum of Its Parts:

More information