400 likes | 428 Views
panoramic viewfinder. patrick baudisch desney tan, drew steedly, eric rudolph, matt uyttendaele, chris pal, and richard szeliski microsoft research OZCHI 2005. Preview: overall area covered so far. Cropping frame : this area will survive cropping.
E N D
panoramic viewfinder patrick baudisch desney tan, drew steedly,eric rudolph, matt uyttendaele,chris pal, and richard szeliski microsoft research OZCHI 2005 Preview: overall area covered so far Cropping frame: this area will survive cropping Viewfinder: what the camera sees right now
preview cropping frame viewfinder summary ultra portable PC + web cam
stitching photos intoa panorama from photos [Teodosio & Bender, 1993] from video [Irani and Anandan, 1998]
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
Preview: overall area covered so far Cropping frame: this area will survive cropping Viewfinder: what the camera sees right now user interface
walkthrough: goal building 115 building 114
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
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
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 • 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
we made 4-way assist can’t fill area HP Photosmart R707 stitch in camera layback modestill need to retake panorama • take content in any ordercan add content post-hoc stitch assist canon powershot S230 only horizontal
chameleon[Fitzmaurice 1993] peep-hole displays[Yee 2003] paintable interfaces[Baudisch 1998] related work on interaction tiltable interfaces[Rekimoto 1996]
computing panorama • written in C, frontend GDI+ and DirectX9 • feature-based stitching [Brown et al 92] • uses same libraries as off-line stitcher • extracting multi-scale oriented patches • matching with previous image • estimating camera orientation • 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: 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
vs. stitching • Offline stitcher • Panoramic viewfinder • Asynchronous stitcher code editing • Batch compiler • Forced syntax • Curly underlines
Last frame added to the panorama Panorama: largest sub panorama created so far 1 2 Viewfinder: what thecamera sees right now Burst buffer: # pictures taken, but not processed Recycle buffer: # of frames not yet matched
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