Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time...

19
Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Transcript of Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time...

Page 1: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Real-Time Animated Video

6.111 Final ProjectDavid KangTarun Malik

Ariana Eisenstein

Page 2: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Video: Juno

Juno, directed by Jason Reitman (2007; Los Angeles, CA: 20th Century Fox, 2008), DVD.

Page 3: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

“The hand-drawn opening credits for Jason Reitman's second feature film Juno: The printing, hand-tracing, xeroxing, cutting and coloring of over 900 images of the main character Juno MacGuff walking through her neighborhood ‘took nearly supernatural patience’” - designer Gareth Smith of Shadowplay Studio on the opening scenes of Juno.

Citation:

Interview with Gareth Smith on the opening scene of Juno, http://www.watchthetitles.com/articles/0069-Juno

Cartoonifying Image(via hand) is Inefficient

Page 4: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Cartoonifying Image(via software) is Inefficient● Multiple filters on one image● Takes time● Not instantaneous● Does not achieve the desired effect

Page 5: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Cartoonifying Image(via FPGA) is Efficient!● Can do multiple processes at once● Can implement fast calculation● Parallel and High computational density

Page 6: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

High Level Block Diagram

ZBT Interface

Edge Detection

Color Reduction

Image Fuser

Camera Output VGA

Output

System Design

Page 7: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

● Store the YCrCb values from the NTSC camera

● Is the source of pixel frame information

● Synchronizes image processing with Input

ZBT Interface

Citation:http://www.dailymail.co.uk/femail/article-2132896/Florence-Colgate-Girl-Britains-beautiful-face.html

Page 8: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

ZBT Interface

Edge Detection

Color Reduction

Image FuserCamera Output

VGAOutput

High Level Block Diagram with Camera input stored in ZBT

Page 9: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Edge Detection● Performs Feature

Extraction● Points at which image

brightness changes sharply are marked as edges.

● Edge Detection Methods:○ Sobel(Gradient)○ Canny Edge Detection○ Gaussian

Page 10: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Input: Y value from ZBT

Output: Selector bit and Edge Detected Image

Edge Detection

Page 11: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Sobel Filter

● Mask Kernels on the image.

● Compute partial derivatives in X & Y direction.

● Compute gradient magnitudes Gx & Gy.

Kernel Operators

Page 12: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

ZBT Interface

Color Reduction

Image FuserCamera Output

VGAOutput

High Level Block Diagram with Edge Detected image

Edge Detection

Page 13: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

● Input YCr and YCb● Convert to HSV● Threshold the HSV

values● Convert to RGB● Output 24 bit RGB

Color Reduction

Page 14: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

ZBT Interface Image Fuser

Camera Output

VGAOutput

High Level Block Diagram after Color Reduction Implementation

Edge Detection

Color Reduction

Page 15: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Image Fuser

● Mux 24 bit RGB from ● Edge Detection and 24 bit RGB from Color Reduction● Use selector bit from Edge Detection

Page 16: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

ZBT Interface

Camera Output

VGAOutput

High Level Block Diagram with Cartoonified Image

Image Fuser

Edge Detection

Color Reduction

Page 17: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Software Prototyping

All of the images above, save the original image, were generated by a MATLAB implementation of the project.

Page 18: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

TimelineWeek 1(11/5-11/11)

● Generate Block Diagram● Synthesize Algorithms in Matlab(Completed)

Week 2(11/12 - 11/18)

● Implement ZBT to VGA verilog● (Displaying images to screen)● Write verilog for Edge Detection● Write test benches for Edge Detection● Write verilog for Color Reduction● Write test benches for Color Reduction

Week 3(11/19 - 11/25)

● Implement Edge Detection verilog● Implement Color Reduction verilog

(Displaying images to screen)

Week 4(11/26 - 12/2)

● Integration of entire system

Week 5(12/3 - 12/9)

● Debugging & Checkoff

Page 19: Video - MITweb.mit.edu/6.111/www/f2013/projects/ajeisens_Project... · 2013. 11. 14. · Real-Time Animated Video 6.111 Final Project David Kang Tarun Malik Ariana Eisenstein

Questions?