Video Mosaics AllisonW. Klein Tyler Grant Adam Finkelstein Michael F. Cohen.

Slides:



Advertisements
Similar presentations
Video Mosaics CS 294/283 Final Project Steve Martin U.C. Berkeley, Fall 2003.
Advertisements

EGN 1006 – Introduction to Engineering Engineering Problem Solving and Excel.
Kaushik Chakrabarti(Univ Of Illinois) Minos Garofalakis(Bell Labs) Rajeev Rastogi(Bell Labs) Kyuseok Shim(KAIST and AITrc) Presented at 26 th VLDB Conference,
Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95.
Introduction to Excel Formulas, Functions and References.
Dynamic Programming Nithya Tarek. Dynamic Programming Dynamic programming solves problems by combining the solutions to sub problems. Paradigms: Divide.
Image Data Representations and Standards
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Part C Part A:  Index Definition in SQL  Ordered Indices  Index Sequential.
1 Chapter 7 My interest is in the future because I am going to spend the rest of my life there.— Charles F. Kettering Forecasting.
Chapter 4: Image Enhancement
Image Indexing and Retrieval using Moment Invariants Imran Ahmad School of Computer Science University of Windsor – Canada.
December 5, 2013Computer Vision Lecture 20: Hidden Markov Models/Depth 1 Stereo Vision Due to the limited resolution of images, increasing the baseline.
Andrea Colombari and Andrea Fusiello, Member, IEEE.
Time Series Analysis Autocorrelation Naive & Simple Averaging
School of Computing Science Simon Fraser University
On Reducing Communication Cost for Distributed Query Monitoring Systems. Fuyu Liu, Kien A. Hua, Fei Xie MDM 2008 Alex Papadimitriou.
Based on Slides by D. Gunopulos (UCR)
UNC Chapel Hill Lin/Manocha/Foskey Optimization Problems In which a set of choices must be made in order to arrive at an optimal (min/max) solution, subject.
資訊碩一 蔡勇儀 Date : 603.  Introduction  Basic Theory  Application & Implementation ◦ Aspect Ratio Change ◦ Retargeting with Optimal.
Fast multiresolution image querying CS474/674 – Prof. Bebis.
Spatial and Temporal Databases Efficiently Time Series Matching by Wavelets (ICDE 98) Kin-pong Chan and Ada Wai-chee Fu.
© 2010 Delmar, Cengage Learning Chapter 4: Creating Animation.
Dynamic Programming Introduction to Algorithms Dynamic Programming CSE 680 Prof. Roger Crawfis.
College Algebra Fifth Edition James Stewart Lothar Redlin Saleem Watson.
Spreadsheet Operations and Functions.  Spreadsheet Operations and Functions increase the efficiency of data entry, the performing of calculations, and.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 8 – JPEG Compression (Part 3) Klara Nahrstedt Spring 2012.
Huffman coding By: Justin Bancroft. Huffman coding is the most efficient way to code DCT coefficients.
Tools for Raster Displays CVGLab Goals of the Chapter To describe pixmaps and useful operations on them. To develop tools for copying, scaling, and rotating.
: Chapter 12: Image Compression 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Klara Nahrstedt Spring 2011
CHAPTER 13 Creating a Workbook Part 2. Learning Objectives Work with cells and ranges Work with formulas and functions Preview and print a workbook 2.
Detecting Pedestrians Using Patterns of Motion and Appearance Paul Viola Microsoft Research Irfan Ullah Dept. of Info. and Comm. Engr. Myongji University.
Ripple Joins for Online Aggregation by Peter J. Haas and Joseph M. Hellerstein published in June 1999 presented by Ronda Hilton.
CS :: Fall 2003 Media Scaling / Content Adaptation Ketan Mayer-Patel.
March 16 & 21, Csci 2111: Data and File Structures Week 9, Lectures 1 & 2 Indexed Sequential File Access and Prefix B+ Trees.
1 Linear Prediction. 2 Linear Prediction (Introduction) : The object of linear prediction is to estimate the output sequence from a linear combination.
Axial Flip Invariance and Fast Exhaustive Searching with Wavelets Matthew Bolitho.
Incorporating Dynamic Time Warping (DTW) in the SeqRec.m File Presented by: Clay McCreary, MSEE.
Adaptive Multi-path Prediction for Error Resilient H.264 Coding Xiaosong Zhou, C.-C. Jay Kuo University of Southern California Multimedia Signal Processing.
Parallel Algorithms Patrick Cozzi University of Pennsylvania CIS Fall 2013.
BARCODE IDENTIFICATION BY USING WAVELET BASED ENERGY Soundararajan Ezekiel, Gary Greenwood, David Pazzaglia Computer Science Department Indiana University.
WS09-1 VND101, Workshop 09 MSC.visualNastran 4D Exercise Workbook Belted Cylinder.
Detail-Preserving Fluid Control N. Th ű rey R. Keiser M. Pauly U. R ű de SCA 2006.
1 Research Question  Can a vision-based mobile robot  with limited computation and memory,  and rapidly varying camera positions,  operate autonomously.
1 Hashing - Introduction Dictionary = a dynamic set that supports the operations INSERT, DELETE, SEARCH Dictionary = a dynamic set that supports the operations.
O PTIMAL SERVICE TASK PARTITION AND DISTRIBUTION IN GRID SYSTEM WITH STAR TOPOLOGY G REGORY L EVITIN, Y UAN -S HUN D AI Adviser: Frank, Yeong-Sung Lin.
2005/12/021 Content-Based Image Retrieval Using Grey Relational Analysis Dept. of Computer Engineering Tatung University Presenter: Tienwei Tsai ( 蔡殿偉.
2005/12/021 Fast Image Retrieval Using Low Frequency DCT Coefficients Dept. of Computer Engineering Tatung University Presenter: Yo-Ping Huang ( 黃有評 )
Synthesizing Natural Textures Michael Ashikhmin University of Utah.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
Spreadsheets: Part I Creating a Worksheet in MS Excel
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
Course14 Dynamic Vision. Biological vision can cope with changing world Moving and changing objects Change illumination Change View-point.
1 Arrays of Arrays An array can represent a collection of any type of object - including other arrays! The world is filled with examples Monthly magazine:
Optimization Problems In which a set of choices must be made in order to arrive at an optimal (min/max) solution, subject to some constraints. (There may.
CSC5101 Advanced Algorithms Analysis
Transcoding based optimum quality video streaming under limited bandwidth *Michael Medagama, **Dileeka Dias, ***Shantha Fernando *Dialog-University of.
CS38 Introduction to Algorithms Lecture 10 May 1, 2014.
DELTA TAU Data Systems, Inc. 1 UMAC TurboTurbo PMAC PCIGeo Drive Single Source Machine Control motion logic data Power PMAC Compensation Tables November.
Motion Estimation Multimedia Systems and Standards S2 IF Telkom University.
1 Berger Jean-Baptiste
Encoding/Decoding May 9, 2016 Russell Impagliazzo and Miles Jones Thanks to Janine Tiefenbruck 1.
Wavelets Chapter 7 Serkan ERGUN. 1.Introduction Wavelets are mathematical tools for hierarchically decomposing functions. Regardless of whether the function.
Content Based Coding of Face Images
Fast multiresolution image querying
JPEG.
Linear Prediction.
Creating a Workbook Part 2
Quantizing Compression
Quantizing Compression
Presentation transcript:

Video Mosaics AllisonW. Klein Tyler Grant Adam Finkelstein Michael F. Cohen

Introduction image mosaics forms a large image by arranging a collection of small images. Their goal is to extend image mosaics into a third dimension (time) by creating video mosaics out of a collection of small, tiling videos. The challenges we address are:  Finding a suitable spatiotemporal arrangement of tiling videos that best match a given target video  Maintaining a degree of temporal coherence  Working within the limited spatial resolution available in video  Performing a suitable color correction on selected tiles to mimic the target

Creating a Video Mosaic 1. Select a target video, T. 2. Select a corpus of video sources, S. 3. Select a tiling structure. This may be a simple as an n × n grid of rectangles or a more complex tiling pattern. 4. For each tile of the target video:  (a) For each frame of the target video: i. Select the best frame S j from the source videos matching the current tile in the current frame of T. ii. Color correct S j to mimic the current tile in the current frame of T. iii. Paste S j into the tile for output.

Defining the Best Source Frame There are a number of considerations in defining the best match between a tile in the target video clip and all possible sub-sequence arrangements of source videos, including:  1. Average color  2. Distribution of color  3. Temporal (motion) aspects  4. Temporal coherence in the tiles

Color Matching we perform a standard two-dimensional Haar wavelet decomposition on each color channel of every image in our corpus of source videos, S. for each color channel (Y,I,Q), we store just the overall average color plus the indices and signs (+ or -) of the 30 largest-magnitude wavelet coefficients in that channel.

Color Matching σ aY, σ aI, σ aQ are the observed standard deviations of the average colors, while σ wY, σ wI, σ wQ are the observed standard deviations in the number of wavelet matches for each color channel. W a : is the factor to adjust the relative importance of the overall color average as compared to the wavelet coefficients. where: Wc are the relative weights (8, 3, and 1) of the color channels, Ct and Cs are the average colors of the target and source. MatchCount is a count of the number of matches (in both index and sign) of the 30 largest wavelet coefficients.

Temporal Matching Rather than wavelet transforming each frame independently, we run a 3D wavelet transform on a small window in time on both the source and target videos. For efficiency, we chose to look at a 16-frame window. We also look only at the top 5 spatial levels of coefficients, thus in essence we are matching a 16×16 spatial resolution ×16 frames in time block of video.

Maintaining Coherence we penalize switching the choice of source video from frame to frame. Thus, there is one addition term for the final distance measure: where the SwitchCost is 0 if frame k immediately follows frame j in the source. Otherwise, SwitchCost is a user modifiable constant.

Finding the Best Matching Sequence We can address the optimization problem for a single tile and then apply this independently for each tile. More formally, for each tile, we seek some sequence of frames U = {U 0, U 1,...}, where the length of U, |U|, equals |T|, the length of the target video, and each frame U i ∈ S, the collection of all source frames. We seek the minimum:

We solve the global optimization problem for each tile with a dynamic programming approach. The approach involves building a table (see Figure 4) that has as many rows as frames in T, |T|, and as many columns as the total number of frames in all the source videos, |S|. Finding the Best Matching Sequence

Each entry Value(i, j) of the table will contain the minimum total cost of all possible sequences from U 0 to U i that end with the j th source frame. Thus: where: We also save the source index of the minimum value from the previous row, k min.

Finding the Best Matching Sequence Figure 4: Dynamic programming, for each tile, to select best source frames for each target frame. Each cell of the table contains the value of minimum cost path to that cell, plus a pointer to the cell in the row above that generated the path. Path (a) does not incur the SwitchCost since the source frames are in sequence, unlike path (b).

cost. The computational cost of filling in the table for each tile is thus O(|T|*|S|)*O(Dist 0 calculation). Finding the Best Matching Sequence

Maintaining Coherence we penalize switching the choice of source video from frame to frame. Thus, there is one addition term for the final distance measure: where the SwitchCost is 0 if frame k immediately follows frame j in the source. Otherwise, SwitchCost is a user modifiable constant.

Color Correction Their goal is to adjust the pixels in the source image so that their local average color matches that of the target.

Color Correction Then our “scaling” correction rule would generate the correction function F(x)=(a/a t )x. A different correction rule—“shifting”— yields a correction function that shifts all the colors in the tile image as follows: F(x)=x+(a-a t ).

Color Correction if we can use only a shift without sending any of the colors in the tile out of range, then we’re done. If not, we shift as much as possible, then scale the resulting colors until the desired average is attained.

Color Correction follows: if the minimum color m t of the image tile is greater than a t -a, then we use the shift rule above: F(x)=x+(a-a t ); otherwise we use a combination of shifting and scaling: F(x)=a(x-m t )/(a t -m t ).

Results