A Systems Architecture for Ubiquitous Video Neil J. McCurdy William G. Griswold Department of Computer Science and Engineering University of California,

Slides:



Advertisements
Similar presentations
Clustering Crowdsourced Videos by Line-of-Sight FOCUS: Clustering Crowdsourced Videos by Line-of-Sight Puneet Jain, Justin Manweiler, Arup Acharya, and.
Advertisements

Robot Sensor Networks. Introduction For the current sensor network the topography and stability of the environment is uncertain and of course time is.
Real-time, low-resource corridor reconstruction using a single consumer grade RGB camera is a powerful tool for allowing a fast, inexpensive solution to.
Interactive Video Tours MSR Interactive Visual Media Group //msrweb/vision/IBR Rick Szeliski, Sing Bing Kang, Matt Uyttendaele, Simon Winder, Antonio Criminisi.
Using Animation and Multimedia Lesson 9. Software Orientation The Animation Pane, shown at right, enables you to manage all the animation effects on the.
MICHAEL MILFORD, DAVID PRASSER, AND GORDON WYETH FOLAMI ALAMUDUN GRADUATE STUDENT COMPUTER SCIENCE & ENGINEERING TEXAS A&M UNIVERSITY RatSLAM on the Edge:
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Vision Based Control Motion Matt Baker Kevin VanDyke.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
Dana Cobzas-PhD thesis Image-Based Models with Applications in Robot Navigation Dana Cobzas Supervisor: Hong Zhang.
Mobility Improves Coverage of Sensor Networks Benyuan Liu*, Peter Brass, Olivier Dousse, Philippe Nain, Don Towsley * Department of Computer Science University.
Tracking a moving object with real-time obstacle avoidance Chung-Hao Chen, Chang Cheng, David Page, Andreas Koschan and Mongi Abidi Imaging, Robotics and.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 21: Image-Based Rendering Ravi Ramamoorthi
Real-Time Geometric and Color Calibration for Multi-Projector Displays Christopher Larson, Aditi Majumder Large-Area High Resolution Displays Motivation.
View interpolation from a single view 1. Render object 2. Convert Z-buffer to range image 3. Re-render from new viewpoint 4. Use depths to resolve overlaps.
A Robust Abstraction for First-Person Video Streaming: Techniques, Applications, and Experiments Neil J. McCurdy William G. Griswold Leslie A. Lenert Department.
Location Systems for Ubiquitous Computing Jeffrey Hightower and Gaetano Borriello.
Continuum Crowds Adrien Treuille, Siggraph 王上文.
Theoretical Foundations of Multimedia Chapter 3 Virtual Reality Devices Non interactive Slow image update rate Simple image Nonengaging content and presentation.
RealityFlythrough: Harnessing Ubiquitous Video Neil J. McCurdy Department of Computer Science and Engineering University of California, San Diego.
CSCE 641: Computer Graphics Image-based Rendering Jinxiang Chai.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Convergence of vision and graphics Jitendra Malik University of California at Berkeley Jitendra Malik University of California at Berkeley.
View interpolation from a single view 1. Render object 2. Convert Z-buffer to range image 3. Re-render from new viewpoint 4. Use depths to resolve overlaps.
55:148 Digital Image Processing Chapter 11 3D Vision, Geometry Topics: Basics of projective geometry Points and hyperplanes in projective space Homography.
The Fundamental Principles
Overview and Mathematics Bjoern Griesbach
Integrated Videos and Maps for Driving Direction UIST 2009 Billy Chen, Boris Neubert, Eyal Ofek,Oliver Deussen, Michael F.Cohen Microsoft Research, University.
June 12, 2001 Jeong-Su Han An Autonomous Vehicle for People with Motor Disabilities by G. Bourhis, O.Horn, O.Habert and A. Pruski Paper Review.
Welcome to CGMB574 Virtual Reality Computer Graphics and Multimedia Department.
Computer Visualization BIM Curriculum 03. Topics  History  Computer Visualization Methods  Visualization Workflow  Technology Background.
Internet-scale Imagery for Graphics and Vision James Hays cs195g Computational Photography Brown University, Spring 2010.
Facial animation retargeting framework using radial basis functions Tamás Umenhoffer, Balázs Tóth Introduction Realistic facial animation16 is a challenging.
Implementing a Sentient Computing System Presented by: Jing Lin, Vishal Kudchadkar, Apurva Shah.
High-Resolution Interactive Panoramas with MPEG-4 발표자 : 김영백 임베디드시스템연구실.
Gregory Fotiades.  Global illumination techniques are highly desirable for realistic interaction due to their high level of accuracy and photorealism.
Computer Science Department Pacific University Artificial Intelligence -- Computer Vision.
Virtual Reality Lecture2. Some VR Systems & Applications 고려대학교 그래픽스 연구실.
Spring /6.831 User Interface Design and Implementation1 Lecture 24: Animation HW2 out, due next Sunday look for your evaluation assignment on.
1 A Systems Architecture for Ubiquitous Video Neil J. McCurdy and William G. Griswold Mobisys, 2005 Presented by Sangjae Lee.
A General-Purpose Platform for 3-D Reconstruction from Sequence of Images Ahmed Eid, Sherif Rashad, and Aly Farag Computer Vision and Image Processing.
Augmented reality Prepared by: Khyati Kataria 08DCE001
Video Eyewear for Augmented Reality Presenter: Manjul Sharma Supervisor: Paul Calder.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
Tele Immersion. What is Tele Immersion? Tele-immersion is a technology to be implemented with Internet2 that will enable users in different geographic.
CSL 859: Advanced Computer Graphics Dept of Computer Sc. & Engg. IIT Delhi.
Computer Vision Lecture #10 Hossam Abdelmunim 1 & Aly A. Farag 2 1 Computer & Systems Engineering Department, Ain Shams University, Cairo, Egypt 2 Electerical.
Advanced Computer Graphics Shadow Techniques CO2409 Computer Graphics Week 20.
112/5/ :54 Graphics II Image Based Rendering Session 11.
Augmented Reality Authorized By: Miss.Trupti Pardeshi. NDMVP, Comp Dept. Augmented Reality 1/ 23.
Real-time motion planning for Manipulator based on Configuration Space Chen Keming Cis Peking University.
Spatiotemporal Saliency Map of a Video Sequence in FPGA hardware David Boland Acknowledgements: Professor Peter Cheung Mr Yang Liu.
UNC Chapel Hill M. C. Lin Basics of Motion Generation let X i = position,orient. of O i at t k = t 0,  i END = false while (not END) do display O i, 
COMP 417 – Jan 12 th, 2006 Guest Lecturer: David Meger Topic: Camera Networks for Robot Localization.
Automatic Video Editing Stanislav Sumec. Motivation  Multiple source video data – several cameras in the meeting room, several meeting rooms in teleconference,
Computer vision: models, learning and inference M Ahad Multiple Cameras
-BY SAMPATH SAGAR( ) ABHISHEK ANAND( )
VR Final Project AR Shooting Game
DAUIN: computer graphics and visualization n Principal investigators:  MONTUSCHI PAOLO – Full professor  ALDO LAURENTINI – Associate professor  SANNA.
Image-Based Rendering Geometry and light interaction may be difficult and expensive to model –Think of how hard radiosity is –Imagine the complexity of.
Unreal Lighting Clark Kromenaker. Unreal Lightmass UE3’s new lighting system is called Lightmass. Simulates bouncing light in an environment.
Camera surface reference images desired ray ‘closest’ ray focal surface ‘closest’ camera Light Field Parameterization We take a non-traditional approach.
AUGMENTED REALITY VIJAY COLLEGE OF ENGG. FOR WOMEN PRESENTED BY…….
University of Pennsylvania 1 GRASP Control of Multiple Autonomous Robot Systems Vijay Kumar Camillo Taylor Aveek Das Guilherme Pereira John Spletzer GRASP.
Ubiquitous Computing and Augmented Realities
3D TV TECHNOLOGY.
Factors that Influence the Geometric Detection Pattern of Vehicle-based Licence Plate Recognition Systems Martin Rademeyer Thinus Booysen, Arno Barnard.
Coding Approaches for End-to-End 3D TV Systems
Resampling.
Using Animation and Multimedia
Presentation transcript:

A Systems Architecture for Ubiquitous Video Neil J. McCurdy William G. Griswold Department of Computer Science and Engineering University of California, San Diego

2 What is ubiquitous video? Cameras fading into the woodwork Networked cameras in “the wild” Can these cameras support remote exploration? RealityFlythrough makes it possible Virtual mobility for disabled Any-angle stadium views Pre-drive driving directions Virtual shopping My-day diaries

3 The need for an abstraction To make remote exploration feel like local exploration, we need a camera at every position and orientation Move the Camera “Telepresence” does this by moving the camera Mimics walking through space –Think Mars Explorer Challenge: Mobility is limited by the physicality of the robot Camera Field of View Telepresence: [Kuzuoka, Tachi]

4 To make remote exploration feel like local exploration, we need a camera at every position and orientation The need for an abstraction Interpolate (Tele-reality) If there are enough cameras, construct “novel views” Reconstructs scene geometry using vision techniques –Think “Matrix Revolutions” Challenge: Requires precise knowledge of camera locations and optics properties. It’s slow. Tele-reality: [Szeliski, Kanade]

5 To make remote exploration feel like local exploration, we need a camera at every position and orientation The need for an abstraction Interpolate (Tele-reality) If there are enough cameras, construct “novel views” Reconstructs scene geometry using vision techniques –Think “Matrix Revolutions” Challenge: Requires precise knowledge of camera locations and optics properties. It’s slow. Novel Views Tele-reality: [Szeliski, Kanade]

6 To make remote exploration feel like local exploration, we need a camera at every position and orientation The need for an abstraction Combine VR and Reality Pre-acquire a model Project live video onto the model Challenge: What happens when the model is no longer accurate? What can realistically be modeled? ? Augmented Virtual Environments: [Neumann] User’s view

7 The need for an abstraction Challenges of ubiquitous video Camera density is low Environment is dynamic –People and objects are moving –Sensors are moving Environment is uncalibrated –Geometry of the environment is not known –Sensors are inaccurate Need data live and in real-time we need a camera at every position and orientation San Diego MMST Drill, May 12, 2005

8 Roadmap The need for an abstraction Need a camera at every position and orientation Challenges of ubiquitous video Building the RealityFlythrough abstraction Motion as a substitute for ∞ cameras Choosing what (not) to show Handling dynamic environments Archiving live imagery Evaluating the abstraction Usability Robustness to change Scalability

9 Simplifying 3d space We know the location and orientation of each camera From a corresponding location in virtual space we project the camera’s image onto a virtual wall When the user’s virtual position is the same as the cameras, the entire screen is filled with the image Results in a 2d simplification of 3d space Motion as a substitute for ∞ cameras

10 The transition A transition between cameras is achieved by moving the user’s location from the point of view of the source camera to the point of view of the destination camera The virtual walls are shown in perspective Overlapping portions of images are alpha-blended Motion as a substitute for ∞ cameras

11 Why transitions are effective Humans commit closure [McCloud] –Visual cortex automatically makes sense of incomplete information –Eg. Blind spots Transitions reveal rather than conceal inaccuracies –Overlaps help us make sense of imagery –Position accuracy is important Transitions provide the following cues –Motion, speed, filler images, grid-lines Key assumption: User is largely content to directly view a camera’s image, or is in transition to another camera Motion as a substitute for ∞ cameras

12 Non-intersecting camera views Pacing and gridlines help Intervening space can be filled with other camera views –Either other live cameras or archived imagery (discussion in a moment) Motion as a substitute for ∞ cameras

13 Choosing what (not) to show How do we decide which cameras to choose There are no obvious choices along the path What if we just show all of them? Choosing what (not) to show

14 We project where we will be in the future We choose the best camera at that location Fitness functions: Proximity, Screen fill Liveness, Recency The trick is to hide information Heuristics for choosing cameras Current image should stay in view for as long as possible Once the destination image is visible, choose it There should be a minimum duration for subtransitions Choosing what (not) to show

15 Roadmap The need for an abstraction Need a camera at every position and orientation Challenges of ubiquitous video Building the RealityFlythrough abstraction Motion as a substitute for ∞ cameras Choosing what (not) to show Handling dynamic environments Archiving live imagery Evaluating the abstraction Usability Robustness to change Scalability

16 The destination moved! Computing the path and the cameras to display at the start of the transition does not work Problem 1: Destination may be a moving target Problem 2: Intervening cameras may not be optimal Handling Dynamic Environments

17 Handling dynamic environments Step 1: Paths need to be dynamic Step 2: Cameras need to be selected just-in-time Handling Dynamic Environments

18 There are still some problems Problem 1: Course correction is too disorienting Problem 2: Too many dimensions of movement –User’s movement (x,y,z) –Camera’s movement –Scene movement What we tried: Paths need to be dynamic Cameras need to be selected just-in-time Handling Dynamic Environments

19 The current state of affairs Problem 1: Course correction is too disorienting Problem 2: Too many dimensions of movement Solutions: First move to where the camera was. Then quickly capture the moving target Pause the live video whenever it’s visible and play at increased speed until we’re back to live action Handling Dynamic Environments

20 Roadmap The need for an abstraction Need a camera at every position and orientation Challenges of ubiquitous video Building the RealityFlythrough abstraction Motion as a substitute for ∞ cameras Choosing what (not) to show Handling dynamic environments Archiving live imagery Evaluating the abstraction Usability Robustness to change Scalability

21 Archiving live imagery Why do it? Still-images generated from live video feeds increase camera density Help us create the illusion of infinite camera coverage Competing desires Maximal camera density Quality images –Still image act as the anchors in a sea of confusing movement

22 Archiving live imagery How do we do it? Each frame from every camera is considered Sensor data (location, orientation) is validated for accuracy Images are assigned a quality based on possible blurriness (eg. high position delta) What is stored The most recent highest quality image, for a particular location (eg. 1 meter² with a 15 degree arc) The image is treated as if it was a non-moving camera

23 Roadmap The need for an abstraction Need a camera at every position and orientation Challenges of ubiquitous video Building the RealityFlythrough abstraction Motion as a substitute for ∞ cameras Choosing what (not) to show Handling dynamic environments Archiving live imagery Evaluating the abstraction Usability Robustness to change Scalability

24 Scalability H323 Video Conferencin g Stream Bottleneck 1: 10 stream max (Fewer with higher FPS) Bottleneck 2: 112 stream max decode MCU (Multipoint Control Unit) RFT Engine Cameras ImageCaptureSensorCapture StreamCombine (352x288 video resolution) X

25 Scalability Bottleneck 2: 112 stream max decode MCU (Multipoint Control Unit) RFT Engine Bottleneck 3: 15 streams max (no image archive) MCU (Multipoint Control Unit) RFT Engine (w/ image archive) Conclusion: It is the number of live cameras, and not the total number of cameras that is the immediate bottleneck 550 archive “cameras”

26 Future work Implement “virtual camera metaphor” –Contrasts with the hitch-hiking metaphor described so far –Abstraction stretched to support “best” views from any point in space –Essentially, novel views, but with the view changing based on which cameras cover the desired view Integrate high-level information that is present in the birdseye view into the first-person view Support sound Scale to multiple viewers with multiple servers User’s Desired View Archived imagery

27 Conclusion RealityFlythrough creates the illusion of infinite cameras Possible despite the challenges of ubiquitous video –Camera density is low –Environment is dynamic –Environment is uncalibrated –Need data live and in real-time We do this by –Using motion as a substitute for ∞ cameras –Choosing the best imagery to show –Selecting imagery and path just-in-time –Using archived live imagery to increase camera density Questions? Ask to see a demo

28 Other slides

29 The illusion of infinite camera coverage Camera PhysicalCameraVirtualCamera CameraWithStatePositionSource ImageSource EnvironmentState 1 * 1 1 Model in MVC

30 RealityFlythrough Engine EnvironmentState (Model) Views Controller CameraRepository StillImageGen TransitionPlanner TransitionExecuter H323Connection Manager << uses 1 st Topic 2 nd Topic 3 rd Topic

31 Transitions TransitionPlannerPlannerSimplePlannerBestFitTransitionExecuterPathPathStraightFitnessFunctorOverallFitness ProxFitness Kinds of Fitness Generates>> * ProximityFitness, LivenessFitness,...

32 Related Work Use model so can approximate photorealism –Pre-acquired Model Neumann, et al. [1] w/ Augmented Virtual Environments Only works w/ static structures –Acquire model from image data Preprocess still imagery –Szeliski [2] –Chen [3] w/ Quicktime VR Know exact camera locations –Kanade [4] w/ Virtualized Reality

33 How are these images related?

34 How are these images related?

35 Like this!