projector keystone correction using fpgaweb.mit.edu/6.111/www/f2014/projects/gajjanag... · i they...

23
Projector Keystone Correction using FPGA Ganesh Ajjanagadde Shantanu Jain James Thomas November 6, 2014

Upload: others

Post on 18-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Projector Keystone Correction using FPGA

Ganesh Ajjanagadde Shantanu Jain James Thomas

November 6, 2014

Page 2: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Background

I Portable projectors are everywhere today!

I What’s the catch?

I They are often tricky to setup due to the keystone effect

Page 3: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Background

I Portable projectors are everywhere today!

I What’s the catch?

I They are often tricky to setup due to the keystone effect

Page 4: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Keystone Effect

Page 5: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Previous Work

I Raskar and Beardsley [2001]

I Sukthankar et al. [2001]

I Both of these use complex software algorithms

I Our contribution is creating a simple, FPGA prototype

Page 6: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Previous Work

I Raskar and Beardsley [2001]

I Sukthankar et al. [2001]

I Both of these use complex software algorithms

I Our contribution is creating a simple, FPGA prototype

Page 7: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Block Diagram

Page 8: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Accelerometer

I SPI digital interface – FPGA is master, accelerometer slave

I Accelerometer has different registers for x , y , z acceleration,signal which register to read

I Configurable SPI clock, but will still need to cross clockdomains

I Accelerometer is noisy – some sort of low pass filter needed

I Accelerometer nonlinearities – lookup table needed?

Page 9: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Accelerometer

I SPI digital interface – FPGA is master, accelerometer slave

I Accelerometer has different registers for x , y , z acceleration,signal which register to read

I Configurable SPI clock, but will still need to cross clockdomains

I Accelerometer is noisy – some sort of low pass filter needed

I Accelerometer nonlinearities – lookup table needed?

Page 10: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

The Physics of a Projector

Page 11: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

A Mathematical Model

Page 12: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Projective Transformation

Page 13: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

The Projection Equation

I Let (x , y) denote the source image coordinates

I Let (X ,Y ) denote the coordinates on the screen

I (X ,Y ) =(p1x+p2y+1p3x+p4y+1 ,

p5x+p6y+1p7x+p8y+1

)I Coefficients depend on the tilt of the projector through

trigonometry

I By projecting a known image, we have 8 equations in 8unknowns

I Will require implementing a full-fledged Gaussian eliminationroutine on the FPGA

I Too hard, will be final (unlikely) stretch goal

I How can we simplify?

Page 14: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

The Projection Equation

I Let (x , y) denote the source image coordinates

I Let (X ,Y ) denote the coordinates on the screen

I (X ,Y ) =(p1x+p2y+1p3x+p4y+1 ,

p5x+p6y+1p7x+p8y+1

)I Coefficients depend on the tilt of the projector through

trigonometry

I By projecting a known image, we have 8 equations in 8unknowns

I Will require implementing a full-fledged Gaussian eliminationroutine on the FPGA

I Too hard, will be final (unlikely) stretch goal

I How can we simplify?

Page 15: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

The SimplificationI Focus on the 2 axes of interest, and compute inverse mappingI Vertical direction is relatively easyI Side-to-side direction is harder

I Have to compute maximum rectangle of correct aspect ratio

Page 16: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

The SimplificationI Focus on the 2 axes of interest, and compute inverse mappingI Vertical direction is relatively easyI Side-to-side direction is harderI Have to compute maximum rectangle of correct aspect ratio

Page 17: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Audio System - Motivation

I Auditory feedback is more effective

I Important for frequent setups or adjustments

I Highlight important details without affecting UI

Page 18: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Audio System - Functionality

I Calibration instructions

I Two-Axis Tilt Angle

I Percentage of pixels utilized

Page 19: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Audio System - Implementation

I Wave files → Bit Files → Labkit → CF Card

I Pre-recorded audio samples on CF Card

Page 20: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Audio System - Interface

I Set of triggers and data as interface.

Page 21: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Responsibilities

I GaneshI Tilt Compensation Algorithm

I ComplexityI Hardware constraintsI Implementability

I Transform Module

I JamesI Accelerometer

I InterfacingI Noise reduction

I Calibration module

I ShantanuI Audio system design

I Audio SamplesI Triggers for each output

I Audio moduleI Test Setup

Page 22: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

Timeline

Week of:

November 10

I Initial module implementation

November 17

I System integration & module debugging

November 24

I System integration debugging

December 1

I Real-world testing & Stretch goals

Page 23: Projector Keystone Correction using FPGAweb.mit.edu/6.111/www/f2014/projects/gajjanag... · I They are often tricky to setup due to the keystone e ect. Keystone E ect. Previous Work

References

Ramesh Raskar and Paul Beardsley. A self-correcting projector. InComputer Vision and Pattern Recognition, 2001. CVPR 2001.Proceedings of the 2001 IEEE Computer Society Conference on,volume 2, pages II–504. IEEE, 2001.

Rahul Sukthankar, Robert G Stockton, and Matthew D Mullin.Smarter presentations: Exploiting homography incamera-projector systems. In Computer Vision, 2001. ICCV2001. Proceedings. Eighth IEEE International Conference on,volume 1, pages 247–253. IEEE, 2001.