Virtual Reality systems like Microsoft Kinect work on the basis of tracking motion in the physical world and then reflecting the changes in the virtual world. Hence, it is important to accurately detect and capture movements of the player in the physical world.
The methods for motion capture explained here only need a camera which finds the the motion by finding the difference between the current position of the user and the initial position of the user. Hence, there will be some delay in reflecting the motion in the virtual world. The less this delay, the better is the Virtual Reality system.
Method 1 – Find difference between frames. Calculate change in pixels.
In this method, we take two images of the user(player) at a short time interval and then find the difference(Difference is a Image Processing Operation) of the two images. The resulting image – which is the difference – gives the area of motion(change).
For example, consider the images below taken from the movie Limitless :
Then, the difference of the two images (generated using Paint.NET) looks as follows:
You can see that in both the images the background is the same but Cooper has moved one step further – which is the difference of the two images. This difference comes in white in the output difference image as shown above. Hence, all we need is a stationary camera to keep the backgrounds same and find the changes or movements of the users.
Method 2 – Construct motion graph using displacement of nodes
In this method, we mark various parts of the body, usually joints like knees, feet, etc as nodes and the displacement of the nodes is considers using image processing operations and on the basis of these movements – the virtual world is reconstructed.
However, essentially, there is only one method for motion capture which is Image Processing. Both the above methods and based on Image Processing applications.
The next component of a virtual reality system is Speech Recognition.