panoramic viewfinder patrick baudisch desney tan, drew steedly, eric rudolph, matt uyttendaele,...

Post on 17-Jan-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

panoramic viewfinder

patrick baudischdesney tan, drew steedly,eric rudolph, matt uyttendaele,chris pal, and richard szeliski

microsoft research

OZCHI 2005

Cropping frame: this area will survive croppingCropping frame: this area will survive cropping

Preview: overall area covered so farPreview: overall area covered so far

Viewfinder: what the camera sees right nowViewfinder: what the camera sees right now

summary

cropping frame

preview

viewfinder

ultra portable PC + web cam

stitching photos intoa panorama

from photos [Teodosio & Bender, 1993]from video [Irani and Anandan, 1998]

stitching: allows taking wide-angle pictures

... getting hi-res photos

but sometimesit goes wrong…

• missing content (65% respondents)• tricky because of perspective projections

• ghosting (88% respondents)• hard to detect

• stitching failed (38% respondents)• lack of overlap, of texture, of focus

• when users notice flaws it is too late

but sometimesit goes wrong…

panoramicviewfinder

user interface

Cropping frame: this area will survive croppingCropping frame: this area will survive cropping

Preview: overall area covered so farPreview: overall area covered so far

Viewfinder: what the camera sees right nowViewfinder: what the camera sees right now

walkthrough: goalbuilding 114building 115

walkthrough

post-processing

• restitching• upload photo to PC• restitch using our high-quality offline stitcher

maximum image quality

post-processing

• auto cropping to rectangular shape• all desired content is preserved cropping frame guarantees this

• or manual cropping

live demo…

dealing with stitching failure

• if user moves camera too quickly (or lack of texture)• viewfinder remains stationary• but continues to update• turns red, error sound

• to fix the problem• pan camera back halfways inside panorama• and take an additional shot• or zoom out

• alert ends when next match is found

the real-timecropping frame...

1. shoot the desired scene elements

2. fill the bounding boxaround these elements

…is the key component

cropping frame tells users when they are done it is the focus of the user’s attention

(traditional: viewfinder is focus of attention)

interaction

• requirements• goal: make sure we have enough content• too much content is ok

• resulting design: control cropping frame indirectly by adding content• no resize handles!• users can focus on pointing camera• interaction transfers to consumer camera

what it does not do

• for artistic reasons, user may want to crop

• cannot crop panorama while shooting

• crop offline, with all other photos

related work

related work• stitch arbitrary order and arrangement

[Szeliski & Shum ‘97]• real-time [Peleg and Herman, 1997]

our focus

• user interface

• preview to help users create successful panorama

• match the interaction model of existing digital cameras allow port to existing camera interaction mechanisms

stitch assist

canon powershot S230 only horizontal

we made 4-way assist can’t fill area

take content in any ordercan add content post-hoc

HP Photosmart R707stitch in camera layback modestill need to retake panorama

related work on interaction tiltable interfaces[Rekimoto 1996]

chameleon[Fitzmaurice 1993]

peep-hole displays[Yee 2003]

paintable interfaces[Baudisch 1998]

implementation

computing panorama

• written in C, frontend GDI+ and DirectX9• feature-based stitching [Brown et al 92]

• uses same libraries as off-line stitcher1. extracting multi-scale oriented patches2. matching with previous image3. estimating camera orientation4. warping image

• Difference: keep existing panorama unchanged• benefit: faster (~ constant time)• drawback: more accumulation error

capture modes

• “video mode”• accumulates calibration error (Sawney et al. ’98)

• “auto mode”• snap picture only when necessary

• “manual mode”• best control, avoid motion blur

computing cropping frame

• naive: O(n4), but we do it in ~ O(n2)

• step 1: downsample image by factor 4

• step 2: for each pixel• compute hor and vert spans

• step 3: for each pixel• upper bound = hor span x vert span• if (upper bound < current max) move on• else traverse down

length of horizontalspan starting at this pixel

future work &conclusion

future: user study...

• as soon as we have a more reliable stitcher

• consider mocking-up stitcher to simulate 100% reliability

• Losing track breaks the flow

• Even with perfect stitcher there will be stitching failures

• We need to be able to lose track without breaking the flow

code editing

1. Batch compiler

2. Forced syntax

3. Curly underlines

1. Offline stitcher

2. Panoramic viewfinder

3. Asynchronous stitcher

vs. stitching

Panorama: largest sub panorama created so farPanorama: largest sub panorama created so far

2 1

Last frame added to the panoramaLast frame added to the panorama

Viewfinder: what thecamera sees right nowViewfinder: what thecamera sees right now

Burst buffer: # pictures taken, but not processedBurst buffer: # pictures taken, but not processed

Recycle buffer: # of frames not yet matchedRecycle buffer: # of frames not yet matched

future: form factor…

future

• start thinking about using cameras in mobile phones as pointing devices

conclusions

• one step closer to makingprocess of taking panoramic picturessimilar toprocess of taking normal photos

read more & try out

patrickbaudisch.com/projects

END

top related