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

Slides:



Advertisements
Similar presentations
Filling Algorithms Pixelwise MRFsChaos Mosaics Patch segments are pasted, overlapping, across the image. Then either: Ambiguities are removed by smoothing.
Advertisements

Digital Color 24-bit Color Indexed Color Image file compression
Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 4 – Digital Image Representation Klara Nahrstedt Spring 2009.
Kyle Marcolini MRI Scan Classification. Previous Research  For EEN653, project devised based on custom built classifier for demented MRI brain scans.
Motion illusion, rotating snakes. Slide credit Fei Fei Li.
Course Objectives… In this course, you will learn how to:  Capture pictures from many sources  Enhance your pictures with graphics software (Photoshop.
Adobe Flash CS4 – Illustrated Unit E: Optimizing and Publishing a Movie.
Quick Review of Apr 10 material B+-Tree File Organization –similar to B+-tree index –leaf nodes store records, not pointers to records stored in an original.
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree.
Computer vision: models, learning and inference Chapter 13 Image preprocessing and feature extraction.
Numbers in Images GCNU 1025 Numbers Save the Day.
1Ellen L. Walker ImageJ Java image processing tool from NIH Reads / writes a large variety of images Many image processing operations.
Internet Vision - Lecture 3 Tamara Berg Sept 10. New Lecture Time Mondays 10:00am-12:30pm in 2311 Monday (9/15) we will have a general Computer Vision.
School of Computing Science Simon Fraser University
Interpolation Prof. Noah Snavely CS1114
T.Sharon 1 Internet Resources Discovery (IRD) Introduction to MMIR.
Quick Review of material covered Apr 8 B+-Tree Overview and some definitions –balanced tree –multi-level –reorganizes itself on insertion and deletion.
Images: Pixels and Resolution Monica A. Stoica, Boston University Books used: “The Essential Guide to Computing” by E. Garrison Walters.
Chapter 5 Plotting Data Curve Fitting, Good Graphing Practices Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Distance Indexing on Road Networks A summary Andrew Chiang CS 4440.
Trevor McCasland Arch Kelley.  Goal: reduce the size of stored files and data while retaining all necessary perceptual information  Used to create an.
Tal Mor  Create an automatic system that given an image of a room and a color, will color the room walls  Maintaining the original texture.
CS559-Computer Graphics Copyright Stephen Chenney Image File Formats How big is the image? –All files in some way store width and height How is the image.
Visual Representation of Information
Interpolation, extrapolation, etc. Prof. Ramin Zabih
Tomihisa (Tom) Welsh Michael Ashikhmin Klaus Mueller Tomihisa (Tom) Welsh Michael Ashikhmin Klaus Mueller Center for Visual Computing Stony Brook University.
Making a Virtual Book With PowerPoint 2007 How to make a virtual book Using PowerPoint 2007 This is not a presentation template. This is not the venue.
TEMPORAL VIDEO BOUNDARIES -PART ONE- SNUEE KIM KYUNGMIN.
Website Research By Sophie Hiscock. Fan Marvel Website You know this website is Marvel because of the characters from the comics are in the body, which.
Spreadsheets and Microsoft Excel. Introduction n A spreadsheet (called a worksheet in Excel) is a two-dimensional array of cells containing data to be.
Video Mosaics AllisonW. Klein Tyler Grant Adam Finkelstein Michael F. Cohen.
Digital Face Replacement in Photographs CSC2530F Project Presentation By: Shahzad Malik January 28, 2003.
VIDEO FORMATS Prof Oakes. Compression CODECS COMPRESSOR/DECOMPRESSOR A codec provides specific instructions on how to compress video to reduce its size,
CS 638, Fall 2001 Today Project Stage 0.5 Environment mapping Light Mapping.
Temporal Analysis using Sci2 Ted Polley and Dr. Katy Börner Cyberinfrastructure for Network Science Center Information Visualization Laboratory School.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
Communicating Quantitative Information Is a picture worth 1000 words? Digital images. Number bases Standards, Compression Will [your] images last? Homework:
Interpolation Prof. Noah Snavely CS1114
Image Representation. Digital Cameras Scanned Film & Photographs Digitized TV Signals Computer Graphics Radar & Sonar Medical Imaging Devices (X-Ray,
Introduction to Flash Animation CS 318. Topics Introduction to Flash and animation The Flash development environment Creating Flash animations  Layers.
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.
DIGITAL IMAGE. Basic Image Concepts An image is a spatial representation of an object An image can be thought of as a function with resulting values of.
Image Manipulation CSC361/661 – Digital Media Spring 2002 Burg/Wong.
 By Bob “The Bird” Fiske & Anita “The Snail” Cost.
Intelligent Robotics Today: Vision & Time & Space Complexity.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 4 – Audio and Digital Image Representation Klara Nahrstedt Spring 2010.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
: Chapter 5: Image Filtering 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Adobe Flash Professional CS5 – Illustrated Unit E: Optimizing and Publishing a Movie.
IS502:M ULTIMEDIA D ESIGN FOR I NFORMATION S YSTEM M ULTIMEDIA OF D ATA C OMPRESSION Presenter Name: Mahmood A.Moneim Supervised By: Prof. Hesham A.Hefny.
Image Processing Intro2CS – week 6 1. Image Processing Many devices now have cameras on them Lots of image data recorded for computers to process. But.
Encoding/Decoding May 9, 2016 Russell Impagliazzo and Miles Jones Thanks to Janine Tiefenbruck 1.
Efficient Game Graphics From Flash MX 2004 Game Design Demystified.
Image Stitching II Linda Shapiro EE/CSE 576.
Lecture 08: Blending Dr. Manal Helal – Fall 2014
Visual homing using PCA-SIFT
Sampling, Quantization, Color Models & Indexed Color
Video on the Web.
Fast multiresolution image querying
Computer Graphics Different Images File.
Multimedia Content-Based Retrieval
Image transformations
Image Stitching II Linda Shapiro EE/CSE 576.
Image Stitching II Linda Shapiro CSE 455.
Image Stitching II Linda Shapiro EE/CSE 576.
Edge Detection Using ICA
Image Stitching II Linda Shapiro ECE P 596.
Presentation transcript:

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

Overview Previous Work Method Overview Metrics for Comparing Video Preliminary Results Future Work Questions?

Previous Work on Mosaics Image Mosaics –1970s: Chuck Close/Salvadore Dali make image mosaics by hand –1990s: Papers at SIGGRAPH and commercial programs create image mosaics Video Mosaics –2002: Video Mosaic program created at Princeton, work published at NPAR 2002 Example... –2003: Wells Fargo commercial (done by hand) Example...

Method Overview Step 1: Get a LOT of source video –Quality of results highly dependant on quality and amount of component clips! –In our case, problem solved! Got stock video companies donate video to the war effort We have 200GB of high quality video to play with (more than 3000 clips)! Step 2: Preprocess video –Create a database of feature values for all video. –Each clip further subdivided into tiles Size determined by the user. With 20 by 20 pixel tiles, each movie has 864 tiles. –Metrics are run on each tile, values recorded –This is done with a separate program that crawls the video repository

Method Overview (2) Step 3: Create video mosaic –Load in original video –Parse the previously generated database –For each clip in the original video Run the same metrics as was used to generate the database –Search the database for the closest tile –Replace the original tile with one from another movie, continue Note that we cant just brute force compare video or well be computing forever. –How to come up with numbers that describe tiles?

Video Comparison Metric 1: Average Color Want replacement clips to have close to or same average color as original tile. To calculate: –Just add color values of pixels in movie tile and divide. Actually not terrible by itself... –As tiles get smaller, approach pixel size, eye blends them However, note that average color can be fooled –i.e. a clip that is half red and half green averages to olive brown: Need something else *+ =

In addition to average color, want some kind of measure of color frequency. –Helps solve previous problem, although not entirely To calculate: –For each pixel of each frame of each tile in movie: Convert from RGB to HSB Take hue value and histogram –Create histograms on a per-tile basis Number of histogram buckets is changeable –Usually use around 10. Video Comparison Metric 2: Color Histograms Vs.

Video Comparison Metric 3: Edge Histograms Also would like to have some kind of edge comparison between original and replacement tile. To calculate: –Foreach frame of each tile –Convert frame to black and white Dont care about colorwant edge data –Resize the image down to 10 x 10 We want major edges only Use a bicubic resize to blur the image slightly –For each pixel in the new image, Calc intensity gradient in the x and y directions Take the arctangent and histogram. –Do for each frame, create histogram. Example of this metric at work: θ

Finding the Best Match Currently, a linear search through a large unordered flat file. –Parse this into a simple row/column data structure, keep it in memory. –Search not as bad as it sounds; takes about a second with entries. –Coming soon: some tricks to make this much better. For each tile of the source movie, compare with each tile entry in the database. –Get the absolute difference between average colors –Get the distance between color histograms –Get the distance between edge histograms Add difference values to get a value for how good a match this tile is for the original. –Can weight different metric to emphasize different features Choose entry that minimizes this.

Video vs. Photo Mosaics Why bother using video? –Could mosaic each frame individually, and then string the frames together. –Example...Example... Would like to exhibit some kind of temporal consistency –I.e. each tile is recognizable as a movie instead of a compression artifact. –Neat effect; less distracting for the eye.

Preliminary Results

Whats Next? Need to implement some way of dividing tile clips into arbitrary length. –Approximation: subdivide tiles into groups of frames. Index the rest of the video so I can leverage the full library. Still working on good ways to preserve temporal locality –i.e. place video tiles in a manner that makes sense over time in addition to just per frame Include metrics that look at neighboring tiles to avoid drastically different edges –These just end up looking like compression artifacts –Princetons video has this problem Different sized tiles –I think a patchwork effect would look interesting, albeit harder to compute. Optimize, optimize, optimize! –Takes forever to make one of these!

References Klien, Grant, Finkelstein, and Cohen. Video Mosaics Proceedings of NPAR Microsoft Video For Windows developers site Apple Quicktime SDK developer resources James OBrien, Alexander Berg, Charless Fowlkes Questions? Comments?