910 likes | 1.02k Views
Final Honours Presentation. Wii3D – Extending the Wiimote into 3D. Principal Investigator: João Lourenço Supervisor: Dr Hannah Thinyane. Presentation Outline. Introduction Design and Implementation User Study Future Work Conclusion. Introduction. Problem Statement
E N D
Final Honours Presentation Wii3D – Extending the Wiimote into 3D Principal Investigator: João Lourenço Supervisor: Dr Hannah Thinyane
Presentation Outline • Introduction • Design and Implementation • User Study • Future Work • Conclusion
Introduction • Problem Statement • Research Motivation and Goals
Introduction • Problem Statement • Research Motivation and Goals
Problem Statement • Migration from 2D output to 3D output • 3D TV • Surround sound speakers • Suggests a need for migration from 2D input to 3D input • Microsoft Kinect (previously Project Natal) • Wii3D
Introduction • Problem Statement • Research Motivation and Goals
Research Motivation and Goals • Intuitive 3D Interaction Techniques are needed • Develop 3D Interaction using Nintendo Wii Remote • Compare Proposed interaction technique with existing techniques
Design and Implementation • Hardware • Software • OS and Frameworks • Bluetooth • Libraries • Point Tracker • Gestures and Gesture Recognition • User Interface
Design and Implementation • Hardware • Software • OS and Frameworks • Bluetooth • Libraries • Point Tracker • Gestures and Gesture Recognition • User Interface
Hardware • 2 Nintendo Wii Remotes • Personal Computer with Bluetooth Capabilities • 2 WiiGloves
Nintendo Wii Remotes • Layout Maximizing Volume
Nintendo Wii Remotes • Layout Maximizing Efficiency
WiiGlove • Circuit • 2 Configurations • 2 IRs per hand • 4 IRs on one hand
Design and Implementation • Hardware • Software • OS and Frameworks • Bluetooth • Libraries • Point Tracker • Gestures and Gesture Recognition • User Interface
OS and Frameworks • Windows 7 • Microsoft C#.NET 4.0
Design and Implementation • Hardware • Software • OS and Frameworks • Bluetooth • Libraries • Point Tracker • Gestures and Gesture Recognition • User Interface
Bluetooth • Microsoft Windows built-in Bluetooth Stack
Design and Implementation • Hardware • Software • OS and Frameworks • Bluetooth • Libraries • Point Tracker • Gestures and Gesture Recognition • User Interface
Libraries • WiimoteLib 1.7.0.0 – Wiimote Connection • Accord.NET 2.1.1.0 – Statistics • Math.NET Iridium 2008.8.16.470 – Linear algebra • 32feet.NET 2.2.0.0 – Bluetooth Connection
Design and Implementation • Hardware • Software • OS and Frameworks • Bluetooth • Libraries • Point Tracker • Gestures and Gesture Recognition • User Interface
Point Tracker • Point tracking and probabilistic estimation were required to ensure that the system would handle multiple inputs (multitouch) and continue to function even in the event of the loss of points. A loss of points can occur for several reasons: • An infra-red source can leave the field of view of the Wii Remote • An infra-red source can move behind another infra-red source • Two infra-red sources can come together and merge
Point Tracker • Several Components • Stereoscopic Triangulation Solver • Distance Minimizer • Predictive Interpolator
Stereoscopic Triangulation • Achieved by solving for the point at the near intersection of two rays • Camera intrinsic properties needed • Viewport width • Viewport height • Horizontal FOV • Vertical FOV
Stereoscopic Triangulation • Using the fields of view, a vector from the camera position to the detected point was obtained. These vectors can be thought of as rays from the infra-red source to the camera. • σthe horizontal field of view • ψbe the vertical field of view • x be the horizontal component of the two dimensional coordinate • y be the vertical component of the two dimensional coordinate
Stereoscopic Triangulation • With the two rays from the two Wii Remote Cameras, the intersection of the two rays can be calculated using linear algebra.
Stereoscopic Triangulation • Physical System – rays would never perfectly intersect • Need to take an estimate • Estimate distance along first vector • Estimate distance along second vector • Average the two points and make note of the distance between them
Distance Minimization • The points that are reported by the two Wii Remotes are not necessarily sorted in the same order
Distance Minimization • Pairwise permutation of points in matrix form • Minimize distance error per row
Predictive Interpolation • Try to predict where a point should be – expected points • Instantaneous velocity • Average velocity over a period • Minimize the errors between the observed and expected points
Predictive Interpolation • The selected point per row is used as the point that the Wii3D System reports
Design and Implementation • Hardware • Software • OS and Frameworks • Bluetooth • Libraries • Point Tracker • Gestures and Gesture Recognition • User Interface
Gestures and Gesture Recognition • Supported gestures • Recognition methods
Click Gesture • A finger going down and forward, and then up and backward
Pan/Scroll Gesture • Two fingers that are close together moving in similar directions
Zoom Gesture • Two fingers moving in opposite directions with the distance between them increasing
Rotate Gesture • Two fingers moving in opposite directions with the distance between them constant
Circle Gesture • Hidden Markov Model Gesture
Multitouch Gestures • Number of points used for each gesture has been linked to the intensity of the gesture
Recognition • Movement – polling • Simple gestures – Finite State Automata • Complex Gestures – Hidden Markov Models
Design and Implementation • Hardware • Software • OS and Frameworks • Bluetooth • Libraries • Point Tracker • Gestures and Gesture Recognition • User Interface
User Interface • States:
User Interface • Upon start-up, the Wii3D System attempts to connect to the Wii Remotes
User Interface • Two possible errors – not 2 Wiimotes connected or no Wiimotes found
User Interface • Search for devices