Image Mosaicing with Motion Segmentation from Video Augusto Roman, Taly Gilat EE392J Final Project 03/20/01.

Slides:



Advertisements
Similar presentations
Image Registration  Mapping of Evolution. Registration Goals Assume the correspondences are known Find such f() and g() such that the images are best.
Advertisements

The fundamental matrix F
CSci 6971: Image Registration Lecture 14 Distances and Least Squares March 2, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
Image alignment Image from
Lecture 6 Image Segmentation
Robust and large-scale alignment Image from
Mosaics con’t CSE 455, Winter 2010 February 10, 2010.
Motion Detection And Analysis Michael Knowles Tuesday 13 th January 2004.
Normalized Cuts and Image Segmentation Jianbo Shi and Jitendra Malik, Presented by: Alireza Tavakkoli.
Region Segmentation. Find sets of pixels, such that All pixels in region i satisfy some constraint of similarity.
Segmentation and Clustering. Segmentation: Divide image into regions of similar contentsSegmentation: Divide image into regions of similar contents Clustering:
Direct Methods for Visual Scene Reconstruction Paper by Richard Szeliski & Sing Bing Kang Presented by Kristin Branson November 7, 2002.
Segmentation Divide the image into segments. Each segment:
Segmentation Kyongil Yoon. Segmentation Obtain a compact representation of what is helpful (in the image) No comprehensive theory of segmentation Human.
Detecting and Tracking Moving Objects for Video Surveillance Isaac Cohen and Gerard Medioni University of Southern California.
Prénom Nom Document Analysis: Data Analysis and Clustering Prof. Rolf Ingold, University of Fribourg Master course, spring semester 2008.
Feature matching and tracking Class 5 Read Section 4.1 of course notes Read Shi and Tomasi’s paper on.
Computing motion between images
Visual motion Many slides adapted from S. Seitz, R. Szeliski, M. Pollefeys.
Segmentation and Clustering. Déjà Vu? Q: Haven’t we already seen this with snakes?Q: Haven’t we already seen this with snakes? A: no, that was about boundaries,
CS664 Lecture #19: Layers, RANSAC, panoramas, epipolar geometry Some material taken from:  David Lowe, UBC  Jiri Matas, CMP Prague
Linearizing (assuming small (u,v)): Brightness Constancy Equation: The Brightness Constraint Where:),(),(yxJyxII t  Each pixel provides 1 equation in.
Lecture 10: Robust fitting CS4670: Computer Vision Noah Snavely.
Computer Vision - A Modern Approach Set: Segmentation Slides by D.A. Forsyth Segmentation and Grouping Motivation: not information is evidence Obtain a.
Video Compression Concepts Nimrod Peleg Update: Dec
Motion Detection in UAV Videos by Cooperative Optical Flow and Parametric Analysis Masaharu Kobashi.
EE392J Final Project, March 20, Multiple Camera Object Tracking Helmy Eltoukhy and Khaled Salama.
Image Stitching Ali Farhadi CSE 455
Image Segmentation Image segmentation is the operation of partitioning an image into a collection of connected sets of pixels. 1. into regions, which usually.
CSE 185 Introduction to Computer Vision
CSC 589 Lecture 22 Image Alignment and least square methods Bei Xiao American University April 13.
BIONFORMATIC ALGORITHMS Ryan Tinsley Brandon Lile May 9th, 2014.
CS 376b Introduction to Computer Vision 04 / 02 / 2008 Instructor: Michael Eckmann.
By Yevgeny Yusepovsky & Diana Tsamalashvili the supervisor: Arie Nakhmani 08/07/2010 1Control and Robotics Labaratory.
: Chapter 12: Image Compression 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Segmentation using eigenvectors Papers: “Normalized Cuts and Image Segmentation”. Jianbo Shi and Jitendra Malik, IEEE, 2000 “Segmentation using eigenvectors:
Linearizing (assuming small (u,v)): Brightness Constancy Equation: The Brightness Constraint Where:),(),(yxJyxII t  Each pixel provides 1 equation in.
The Brightness Constraint
Computer Vision Lecture 5. Clustering: Why and How.
Chapter 14: SEGMENTATION BY CLUSTERING 1. 2 Outline Introduction Human Vision & Gestalt Properties Applications – Background Subtraction – Shot Boundary.
Motion Segmentation By Hadas Shahar (and John Y.A.Wang, and Edward H. Adelson, and Wikipedia and YouTube) 1.
MOTION ESTIMATION IMPLEMENTATION IN RECONFIGURABLE PLATFORMS
Unsupervised Learning. Supervised learning vs. unsupervised learning.
Medical Image Analysis Dr. Mohammad Dawood Department of Computer Science University of Münster Germany.
Segmentation of Vehicles in Traffic Video Tun-Yu Chiang Wilson Lau.
Presented by: Idan Aharoni
Linearizing (assuming small (u,v)): Brightness Constancy Equation: The Brightness Constraint Where:),(),(yxJyxII t  Each pixel provides 1 equation in.
Visual Tracking by Cluster Analysis Arthur Pece Department of Computer Science University of Copenhagen
1 Microarray Clustering. 2 Outline Microarrays Hierarchical Clustering K-Means Clustering Corrupted Cliques Problem CAST Clustering Algorithm.
776 Computer Vision Jan-Michael Frahm Spring 2012.
Representing Moving Images with Layers J. Y. Wang and E. H. Adelson MIT Media Lab.
Motion Estimation Multimedia Systems and Standards S2 IF Telkom University.
Motion Segmentation at Any Speed Shrinivas J. Pundlik Department of Electrical and Computer Engineering, Clemson University, Clemson, SC.
May 2003 SUT Color image segmentation – an innovative approach Amin Fazel May 2003 Sharif University of Technology Course Presentation base on a paper.
CSCI 631 – Foundations of Computer Vision March 15, 2016 Ashwini Imran Image Stitching.
MOTION Model. Road Map Motion Model Non Parametric Motion Field : Algorithms 1.Optical flow field estimation. 2.Block based motion estimation. 3.Pel –recursive.
776 Computer Vision Jan-Michael Frahm Spring 2012.
Image Representation and Description – Representation Schemes
Graphcut Textures:Image and Video Synthesis Using Graph Cuts
Motion Detection And Analysis
The Brightness Constraint
The Brightness Constraint
Representing Moving Images with Layers
The Brightness Constraint
Representing Moving Images with Layers
VMorph: Motion and Feature-Based Video Metamorphosis
EM Algorithm and its Applications
--- Range Image Registration
CS5760: Computer Vision Lecture 9: RANSAC Noah Snavely
Image Stitching Linda Shapiro ECE/CSE 576.
Presentation transcript:

Image Mosaicing with Motion Segmentation from Video Augusto Roman, Taly Gilat EE392J Final Project 03/20/01

Project Goal To create a single panoramic image from a sequence of video framesTo create a single panoramic image from a sequence of video frames Align frames using motion estimationAlign frames using motion estimation

The Wang Adelson Algorithm Dense MV is gold standard estimate for each pixelDense MV is gold standard estimate for each pixel Estimate region motionEstimate region motion Segment regions based on motionsSegment regions based on motions IterateIterate

Dense Motion Estimation Need a motion vector for every pixel.Need a motion vector for every pixel. Full search block matching is far too slow (more than 2 hours per frame pair!)Full search block matching is far too slow (more than 2 hours per frame pair!) Phase Correlation used to estimate motionPhase Correlation used to estimate motion Results in a few possible motions for each block.Results in a few possible motions for each block. For each pixel in the center of the block, test with each of the possible motions and choose the motion with the smallest MSE.For each pixel in the center of the block, test with each of the possible motions and choose the motion with the smallest MSE. Shift block by small amount and compute new phase correlation and repeat.Shift block by small amount and compute new phase correlation and repeat. Much faster! ~30 sec per frame pair!Much faster! ~30 sec per frame pair!

Phase Correlation Given a block B 1,B 2 from each imageGiven a block B 1,B 2 from each image Compute 2D FFT of eachCompute 2D FFT of each Compute cross-power spectrumCompute cross-power spectrum Normalized value of: F{B 1 } F{B 2 } *Normalized value of: F{B 1 } F{B 2 } * Take IFFT to get Phase Correlation FunctionTake IFFT to get Phase Correlation Function This is very similar to the correlation function between the two blocksThis is very similar to the correlation function between the two blocks

Motion Vectors vs Motions Hypothesis There are a number of different motion hypotheses available.There are a number of different motion hypotheses available. In theory, each of these hypothesis corresponds to a distinct motion in the video. Each pixel is assigned to the motion hypothesis that most closely approximates its motion vector.Each pixel is assigned to the motion hypothesis that most closely approximates its motion vector. This segments the frame into distinct regions, one for each motion hypothesis.This segments the frame into distinct regions, one for each motion hypothesis.

Motion Hypothesis Generation For each region want motion hypothesis that best represents all pixel motions in that region.For each region want motion hypothesis that best represents all pixel motions in that region. Least squares fit to find best affine motion parameter in a regionLeast squares fit to find best affine motion parameter in a region First iteration initialized with blocksFirst iteration initialized with blocks

Motion Hypothesis Refinement K-means used to cluster motion hypothesesK-means used to cluster motion hypotheses K unknownK unknown Empty clusters removedEmpty clusters removed Large clusters split to maintain minimum k valueLarge clusters split to maintain minimum k value

Region Segmentation For each pixel compare hypotheses to dense MV Find closest hypothesis Group all pixels represented by a motion hypothesis into a region Pixels with large error unassigned Hypotheses without membership removed

Region Adjustment Region Splitter Assumes areas with same motion are connected Disconnected areas within a region are split into separate regions Increases number of hypotheses for k-means Region Filter Small regions give poor motion estimates Remove all regions with area below threshold Disconnected objects with same motion will be merged at next segmentation step

Segmentation Results Frame 1Frame 2

Segmentation Results Initial SegmentationIteration 1Iteration 2 Iteration 3Iteration 5Iteration 7

The Whole Enchilada The dense motion estimate, region segmentation and motion estimation performed for all frames pairs. For first pair, segmentation initialized to blocks and k-means initialized to lattice in 6D affine space. Subsequent frame pairs initialized with final segmentation and motion hypotheses from previous frame pair.

Layer Synthesis Motion estimates relate each frame only to the previous frame Frames are projected onto first video frame Cumulative projection kept in 3x3 transformation matrix Layers are not necessarily ordered similarly between frames Assumed largest layer is background Median taken of all values projected to each pixel in final image

Implementation Difficulties Parameter tweaking Phase Correlation Attempted to focus on textured areas of image Initial test videos lacked texture Registering layers across frames Cumulative motion error Resolution loss in final panoramic

Results

Results

Results

Results

Results

Results

Results

Conclusions Nice panoramas Moving objects removed Future improvements – – Sub-pixel dense motion estimation – – More accurate segmentation – – Region registration across frame