Bubbleboy is the final year project idea suppose to do under CS4200 course module by the group "Yathra". It's objective is to create an Innovative Framework with Full body Motion Tracking for HCI(Human Computer Interaction)
Friday, October 29, 2010
Project meeting minute - 05
Wednesday, October 27, 2010
Features and operating environment of BubbleBoy.
- Operates with commodities like web camera which is easy to find for the user.
- Achieve all the hard work of program using software and user need not to be troubled about installing difficult hardware.
- Track the full body motion of the user and simulate the computer program accouding to it.
- Provides different kinds of experience (different environments) to user as it helps different users’ choices.
- Provides a less complicated and low cost product to have an invaluable experience.
BubbleBoy provides a scenery of a natural environment experience through computer screen.And it gives the chance of interaction with computer using full body motion(Actions). Operating environment of the system includes following features.
- Two web cameras for capturing the actions of the user.
- Computer with
- High processing power: Core 2 Duo 2.2 or more
- Secondary storage of 5GB separated for the application.
- System memory of 1GB or more
Sceneries that will be there for the end users
In the project "BubbleBoy"we are hoping to deliver a system which would enable interaction without any specific hardware development, but only with aid of software. Only thing user has to do is to paste the markers on him or her which another technique we have exploited to provide the user with better performance and effective outcome. We need to provide appropriate scene as required by the user. The user will enable to select one of following activities.
· Swimming in an aquarium/sea/river.
· Walking alone by seaside/riverside.
· Walking at a museum
· Drive a racing car
· Walking on moon/space
· Having a walk in a volcanic site
· Tsunami
· Surfing
· Snow board
We can add any kind of scenery since we are hoping to capture the whole body movement. We are hoping to design the graphical environment similar to natural conditions to some extent.
It should be noted that in the process of proving scenery to this application we have focus our attention on physically impaired people who are unable of having these kinds of experience during their real life the apart from the average users. They will definitely enjoy it as our application will be fully enriched with life like experiences.
Sofware Specification
We consider following choices
• XNA
• Crytec
• JMonkey
XNA
XNA is a framework is developed based on native implementation of .NET Framework 2.0 on Windows. The framework runs on a version of the Common Language Runtime that is optimized for gaming to provide a managed execution environment. The runtime is available for Windows XP, Windows Vista, Windows 7, and Xbox 360. Since XNA games are written for the runtime, they can run on any platform that supports the XNA Framework with minimal or no modification. Games that run on the framework can technically be written in any .NET-compliant language, but only C# in XNA Game Studio Express IDE and all versions of Visual Studio 2008 are officially supported.
JMonkey
jMonkey Engine (jME) is a high-performance 3D game framework, written entirely in Java. OpenGL is supported via LWJGL, with JOGL support in development. For sound, OpenAL is supported. Input via the keyboard, mouse, and other controllers is also supported. The most important thing in this is, it run on Windows, Mac OS, and Linux; true cross-platform thanks to the JavaVM.
Crytect
CryEngine is a high performance 3D game engine developed by crytec and they recently release CryEngine 3 . The new engine is being developed for use on Microsoft Windows, PlayStation 3 and Xbox 360. As for the PC platform, the engine is said to support development in DirectX 9, 10, and 11. It supports and contains rich graphical usages such as water reflection, Flow graph, Real time soft particle system & integrated FX editor, Road & river tools, Vehicle creator, Real time dynamic global illumination, Deferred lighting, Natural lighting & dynamic soft shadows
We do compare above technologies and came up with JME which is platform independent. When consider XNA it supports only to windows and Xbox. And when comparing the maturity levels of the XNA and JME, JME shows much efficient and effective performance. Cry engine is one of greatest 3D game engine in terms of detailing. But it need certain level of hardware requirement and it is in the commercial market. So we look at JME which stand alone in both cases.
Thursday, October 21, 2010
Project meeting minute - 04
Wednesday, October 20, 2010
Project "Bubble Boy" Against the Existing Technologies
Implementation
During the project, it requires to follow certain software development model in order to achieve better quality output. Since the requirement would affect with the present technology, it is prefer to use Iterative model which is much dynamic. In this project, it can identify a project life cycle (PLC) with five different phases. Those are identification, plan, implementation, testing and complete. As it is planned, new technologies are welcome during any phase. So this eventually becomes highly flexible. Even new ideas could arise while doing implementation. To create more competitive product, it should be up to date. This project basically can be defined as identification of an opportunity in the market. To meet up with these requirements, it is preferred to use an evolutionary/Iterative model as software development model and at the same time team would make sure to adhere with coding paradigms and standards.
1.2 Video Capturing & Analysis
After the research component conduct, it was able to found that there are several possible methods which can be used to achieve this objective but most of them are done using single cameras. In our case we may need to use multiple web cameras in order to capture the 3D motions of the user. Therefore we have to synchronize all those video inputs we capture using those web cameras. Then from that video we take snapshots for analysis user’s gestures. In this case we have to convert 3D in to 2D and then again into 3D, for do this operation we should use effective algorithms for reduce the data loss.
1.3 Image Mapping and Gesture Recognition
Image mapping and gesture recognition, together become an important part of the advanced human computer interaction systems. After capturing the images at a particular rate, as explained in 1.2 its next challenge to analyze them and recognize the 3D gesture of the object that is in front of the camera(s). Here is some research work on this area.
1.3.1 Euclidean Distance Fields
Euclidean Distant field technology helps in estimation of 3D object using a 2D image efficiently. An object’s distance field represents, for any point in space, the distance from that point to the object. The distance can be signed to distinguish between the inside and outside of an object. Estimating Euclidean distance from 2D range images is measured with Projected Distances from 2D image to the camera. Then it provides a 2D grid of line-of-sight distances from the camera to the object.
1.3.2 2D and 3D Analysis for Automated Gesture Recognition
The paper was published for the objective of creating a system that will be helping deaf people communication. It takes three data sets from cameras and analyzes them. The paper explains the technology as set by set. The first data set consists of images acquired with a single camera in a controlled light environment and a segmentation (called “2D segmentation”) based on luminance information. The second data set is acquired with a 3D camera which can produce a depth map; a segmentation (called “3D segmentation”) of the hand configurations based on the video and the depth map is performed. The third data set consists in 3D-segmented masks where the resulting hand mask is warped to compensate for hand pose variations.
1.4 Provide Scenery
In this project we are hoping to deliver a system which would enable interaction without any specific hardware development, but only with aid of software. We need to provide appropriate scene as required by the user. The user will enable to select one of following activities.
• Swimming in an aquarium/sea/river.
• Walking alone by seaside/riverside.
• Walking at a museum
• Drive a racing car
• Walking on moon/space
• Having a walk in a volcanic site
• Tsunami
• Surfing
• Snow board
We can add any kind of scenery since we are hoping to capture the whole body movement. We are hoping to design the graphical environment similar to natural conditions to some extend
1.5 Synchronization of Model and Scenery
According to the user movements the system will capture them. And then the environment should change according to the movement of the user. To estimate the motion we consider overall body movement. And respect to the motion it uses a neural network related thing and try to identify the motion. It will identify as the movement as related to the natural human movements. Then it would consider the real condition and the nature of the current environment. In the natural case, area of the scene changes only when eyes move. Other than that it should be the same angle of the environment. But objects of that area could affect by the user movement.
For example, consider the incident where the user is sitting alone by river side. Then environment should change but area remains the same. When user move head around the viewing angle/area changes. Now user picks a small piece of stone and throws it to the river. If user moves his hand in a vertical manner then it should sink at once. But if he moves hand in a horizontal plane then that piece of stone should jump about two to four times and sink.
Introduction
Tuesday, October 19, 2010
The BubbleBoy - voyage through virtual world...
Lahiru Sandaruwan