15-463: Computational Photography (2024)

15-463: Computational Photography (1)

Due Date: 11:59pm on Tuesday, September 18, 2012

Overview

This projectexplores EulerianVideo Magnification to reveal temporal image variations that tendto be difficult tovisualize. This videobriefly describes the technique, and shows a variety of visual effectsattainable with it. For example, one can amplify blood flow andlow-amplitude motion with Eulerian Magnification without needing to performimagesegmentation orcomputing opticalflow.

The primary goal of this assignment is to amplify temporal colorvariations in two videos(faceand baby2),and amplify color or slow-amplitude motion in your own custom short video sequence that you record yourself. For this you will readthe paperabout Eulerian Video Magnification and implement the approach.

How can you amplify image variations that are hard to see with thenaked eye? The insight is that some of these hard-to-see changes occur atparticular temporal frequencies that we can augment using simplefilters in the frequency domain! For example, to magnify pulse we canlook at pixel variations with frequencies between 0.4 and 4Hz, whichcorrespond to 24 to 240 beats per minute.

The Eulerian magnification process is straight forward:
(1) An image sequence is decomposed into different spatial frequency bandsusing Laplacian pyramids
(2) The time series corresponding to the value of a pixel on all levels of the pyramid are band-passfiltered to extract frequency bands of interest
(3) The extracted band-passed signals are multiplied by a magnification factor and this result is added to the original signals
(4) The magnified signals that compose the spatial pyramid are collapsed to obtain the final output
If the input video has multiple channels (e.g., each frame is a color image in RGB color space), then we can process each channel independently. The YIQ color space is particularly suggested for Eulerian magnification since it allows to easily amplify intensity and chromaticity independently of each other (we can use rgb2ntsc and ntsc2rgb to move between RGB and YIQ in MATLAB).

The hard part of the process is to find the right parameters to getthe desired magnification effect. For example, one can change the sizeof the Laplacian pyramid, multiply the time series corresponding tothe value of a pixel by different scale factors at different levels ofthe pyramid, or attenuate the magnification when adding the augmentedband-passed signals to the original ones. The choice of the band-passfilter (e.g., the range of frequencies it passes/rejects, its order,etc.) can also influence the obtained results. This exploration ispart of the project, so you should start early!

Laplacian pyramid (20pts)

The first step to augment a video is to compute a Laplacian pyramidfor every single frame (see Szeliski's book, section 3.5.3). TheLaplacian pyramid was originally proposed by Burt and Adelson in their1983paper TheLaplacian pyramid as a compact image code, where they suggested tosample the image with Laplacian operators of many scales. This pyramidis constructed by taking the difference between adjacent levels of aGaussian pyramid, and approximates the second derivative of the image,highlighting regions of rapid intensity change.

15-463: Computational Photography (2)

Each level of the Laplacian pyramid will have different spatialfrequency information, as shown in the picture above. Notice that weneed to upsample one of the images when computing the differencebetween adjacent levels of a Gaussian pyramid, since one will have asize of wxh, while the other will have (w/2)x(h/2)pixels. Since the last image in the Gaussian pyramid does not containan adjacent image to perform the subtraction, then it just becomes thelast level of the Laplacian pyramid.

Notice that by doing the inverse process of constructing a Laplacianpyramid we can reconstruct the original image. In other words, byupsampling and adding levels of the Laplacian pyramid we can generatethe full-size picture. This reconstruction is necessary toaugment videos using the Eulerian approach.

Temporal filtering (40pts)

We consider the time series corresponding to the value of a pixel onall spatial levels of the Laplacian pyramid. We convert this timeseries to the frequency domain using the Fast Fourier Transform(fft in MATLAB), and apply a band pass filter to thissignal. The choice of the band-pass filter is crucial, and we recommenddesigning and visualizing the filter with fdatooland fvtool in MATLAB(see an example by MathWorks).

To make this process easier, we provide you with a butterworthBandpassFilter function togenerate a Butterworth band-pass filter of a particular order. Thisfunction was generated with fdatool, and is optional for you to use. You can download thefile, or use the code below for reference:

% Hd = butterworthBandpassFilter(Fs, N, Fc1, Fc2)
% Fs - sampling frequency (e.g., 30Hz)
% N - filter order (must be an even number)
% Fc1 - first cut frequency
% Fc2 - second cut frequency
% Hd - approximate ideal bandpass filter
function Hd = butterworthBandpassFilter(Fs, N, Fc1, Fc2)
h = fdesign.bandpass('N,F3dB1,F3dB2', N, Fc1, Fc2, Fs);
Hd = design(h, 'butter');
end

More details on the fdesign.bandpass parameters can befound here. Checkthe Eulerian VideoMagnification paperfor details on the parameters they used on the face andbaby2 videos. You will have to find the right parameters for the other video that you capture yourself, and process.

In order to filter the time series of the pixels fast, werecommend you perform this operation in the frequency domain, sincemultiplication is faster than convolution. But be carefulabout fft's output format when doing this! As explainedin thistutorial, the DC component of fftx = fft(x),for x a 1D signal, is the firstelement fftx(1) of the array. If x has aneven number of samples, then the magnitude of the FFT will besymmetric, such that the first (1+nfft/2) points are unique, and therest are symmetrically redundant. Theelement fftx(1+nfft/2) is the Nyquist frequency componentof x in this case. If the number of samplesof x is odd, however, the Nyquist frequency component isnot evaluated, and the number of unique points is (nfft+1)/2.

Also, if you decide to use the butterworthBandpassFilterfunction, then you will need to get the frequency components of the filterfor fast computation. This can be done by usingMATLAB's freqzfunction, by passing the filter and the length of the output that youwant (i.e., fftHd = freqz(Hd,NumSamples)). Again, be careful abouthow the frequency components are output by freqz.

Pixel change magnification (10pts)

After extracting the frequency band of interest, we need to amplify itand add the result back to the original signal.

Image reconstruction (30pts, which includes evaluation of your results)

After amplifying the signals, all that is left is to collapse theLaplacian pyramids into a single image per frame. Notice that we can attenuate the amplification to obtain different resuts, or we can low-pass filter the amplified signal to reduce effects on high frequency components of the images, such as borders. Two differentblood flow amplification effects on the face.mp4 image sequence are presented below,

Bells & Whistles (Extra Credit)

Try some special moves to increase your score:

  • (5pts) Pick a time series corresponding to the value of a pixel on any pyramid level, and make a plot of power vs frequency after converting to the frequency domain (you can follow these steps for plotting). Show the plot in your project website and indicate the pyramid level of the pixel you chose, and its (x,y) location.
  • (5pts) Using the same time series as above, make a plot of power vs frequency after band-pass filtering the signal in the frequency domain. Show the plot in your project website and indicate the pass band of the filter that you used.
  • (15pts) Try two additional set of parameters on each of the processed videos (face, baby2, and the one you captured), and show the different results you obtained. Explain what is being augmented in each case (e.g., color variation or slow-amplitude motion).
  • (10pts) Try to augment low-amplitude motion specifically in an another video provided by the authors of the Eulerian Video Magnification paper (see the Data section of the project website). Do not pick the face or baby2 video for this purpose, nor any other video you amplified before.

Deliverables

Use both words and images to show us what you've done (describe in detail your algorithm parameterization for each of your results).
Place all code in your code/ directory. Include a README describing the contents of each file.
In the website in your www/ directory, please:

  • Include a brief description of the project, and explain how you constructed the Laplacian image pyramid.
  • Show your result for amplifying blood flow on the face and baby2sequences, as well as your results for the additional sequence that youcapture and process. Your results should mimic the resultsobtained by the authors on the face and baby2 sequences (they shouldamplify similar pulsation rates, though colorizing may bedifferent). Upload your videos to YouTube, then embed them into yourproject web-page, and indicate the parameters you used in each case.
  • Explain any difficulties and possible reasons for bad results.
  • Include any bells & whistles and explain what parameters you used.

15-463: Computational Photography (2024)

FAQs

How much does computational photography pay? ›

The base pay range for this role is between $143,100 and $264,200, and your base pay will depend on your skills, qualifications, experience, and location.

What is the computational photography technique? ›

Computational photography refers broadly to computational imaging techniques that enhance or extend the capabilities of digital photography. The output of these techniques is an ordinary photograph, but one that could not have been taken by a traditional camera. We can't yet set its precise definition.

Is computational photography the same as computer vision? ›

Computational photography focuses on leveraging digital computation to capture and process images, while computer vision involves creating digital systems capable of interpreting and analysing visual data, much like the human visual system.

What is computational photography example? ›

Examples of computational photography include in-camera computation of digital panoramas, high-dynamic-range images, and light field cameras.

Can a photographer make 100k a year? ›

It is possible to earn $100,000 or more a year as a photographer — the sky really is the limit when it comes to income potential in this field. However, the median annual income for this role is $40,170, but photographers can earn more over time as they gain experience and a strong reputation in their industry.

Is computational photography AI? ›

What they call 'AI' is just sophisticated algorithms. Technically it's still computation. So from this perspective, AI photography is the same computational photography that uses certain class of machine learning and neural processing algorithms.

What is computational photography on an iPhone? ›

A large part of the behind-the-scenes magic is computational photography, which sounds complicated, but is a pretty broad term that refers to cameras manipulating an image digitally, using a built-in computer, as opposed to applying good old-fashioned optics.

How is computational photography different from traditional photography? ›

In traditional film-like digital photography, camera images represent a view of the scene via a 2D array of pixels. Computational Photography attempts to understand and analyze a higher dimensional representation of the scene.

Why is computational photography important? ›

Traditional photography's quality limits are governed by the hardware capabilities. Long exposure, focus stacking, and filters are often used to enhance photos. Computational photography can take images past what the traditional methods can do.

What are the examples of computational imaging? ›

Computational Imaging systems cover a broad range of applications include computational microscopy, tomographic imaging, MRI, ultrasound imaging, computational photography, Synthetic Aperture Radar (SAR), seismic imaging etc.

Is computer vision an AI? ›

Computer vision, a type of artificial intelligence, enables computers to interpret and analyze the visual world, simulating the way humans see and understand their environment. It applies machine learning models to identify and classify objects in digital images and videos, then lets computers react to what they see.

What is a computational example? ›

Here are some examples of computation: Addition: Addition is a basic example of computation. It involves adding two or more numbers together to get a sum. For example, if we add 2 and 3, we get 5. This computation can be performed manually using a calculator or pen and paper, or it can be done using a computer program.

What are examples of computational methods? ›

Techniques of Computational Thinking include Decomposition, Pattern recognition, Abstraction, and Algorithmic thinking. Decomposition entails breaking down complex problems into smaller, more manageable parts. Pattern Recognition involves observing trends and repeating patterns.

What is computational image analysis? ›

Computational imaging involves the joint design of imaging hardware and computer algorithms to create novel imaging systems with unprecedented capabilities.

Which type of photography pays the most? ›

Listed Here Are Some Of The Highest Paying Photography Jobs In The World:
  • Freelance Photographer.
  • Wedding Photographer.
  • Fashion Photographer.
  • White House Photographer.
  • Fine Art Photographer.
  • Film Set Photographer.
  • Medical Photographer.
  • Product Photographer.

How much do computational arts people make? ›

Computational Designer salaries in Canada

The estimated total pay for a Computational Designer is $63,502 per year, with an average salary of $59,934 per year.

How much money can I make from photography? ›

Full-time photographers can earn anywhere between $30,000 and $75,000 per year, averaging $42,494 in 2023. However, some do earn much more. Is part-time the best way to start earning in photography?

Top Articles
Processors, methods, and systems with a configurable spatial accelerator
Graveyard Keeper is the grind that keeps on giving
Swissport Timecard
Krua Thai In Ravenna
Nehemiah 6 Kjv
How To Pay My Big Lots Credit Card
Eso Mud Ball Miscreant
80 For Brady Showtimes Near Brenden Theatres Kingman 4
Top Scorers Transfermarkt
Generation Zero beginner’s guide: six indispensable tips to help you survive the robot revolution
Unlock the Fun: A Beginner's Guide to Playing TBG95 Unblocked Games at School and Beyond
Discovering The Height Of Hannah Waddingham: A Look At The Talented Actress
manhattan cars & trucks - by owner - craigslist
Pokewilds Wiki
Busted Newspaper Randolph County Missouri
Eggy Car Unblocked - Chrome Web Store
Wolfgang's Thanks Crossword
Dirty Old Man Birthday Meme
Learning The Hard Way Chapter 4
Vanessa Garske Reddit
18002226885
Excuse Me This Is My Room Comic
Used Golf Clubs On Craigslist
Huffington Post Horoscope Libra
Unmhealth My Mysecurebill
Springfield Ma Craigslist
NFL Week 1 games today: schedule, channels, live streams for September 8 | Digital Trends
Thailandcupid
Pokerev Telegram
Missing 2023 Showtimes Near Golden Ticket Cinemas Dubois 5
Netronline Historic Aerials
Blue Beetle Showtimes Near Regal Independence Plaza & Rpx
How Much Do Internet and Wi-Fi Cost?
Craigslist Hart Mi
Planet Zoo Obstructed
Mario Party Superstars Rom
Sirius Satellite Radio Sports Schedule
Watch Shark Tank TV Show - ABC.com
Meg 2: The Trench Showtimes Near Phoenix Theatres Laurel Park
Mtb Com Online
Ap Bio Unit 2 Progress Check Mcq
Grasons Estate Sales Tucson
'We weren't done': Spacebar Arcade closes its doors for good
123Movies Scary Movie 2
Jesus Calling December 1 2022
Thirza (tier-sa) Caldwell on LinkedIn: #choosewell #orlandohealth
Mazda 6 GG/GG1; GY/GY1 2.3 MPS Test : MPSDriver
Hughie Francis Foley
Netspar on LinkedIn: Netspar is pleased to announce the next Netspar Pension Day, which will…
Lompoc Record Arrest Log
Loredana Chivu, despre operațiile făcute la clinica anchetată: "Am fost la un pas de moarte"
Tetris Google Sites
Latest Posts
Article information

Author: Foster Heidenreich CPA

Last Updated:

Views: 6708

Rating: 4.6 / 5 (76 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Foster Heidenreich CPA

Birthday: 1995-01-14

Address: 55021 Usha Garden, North Larisa, DE 19209

Phone: +6812240846623

Job: Corporate Healthcare Strategist

Hobby: Singing, Listening to music, Rafting, LARPing, Gardening, Quilting, Rappelling

Introduction: My name is Foster Heidenreich CPA, I am a delightful, quaint, glorious, quaint, faithful, enchanting, fine person who loves writing and wants to share my knowledge and understanding with you.