Optolabe: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
(Some notes about the computation of the position and orientation of an optolabe)
Line 47: Line 47:
:-- [[User:WeBToR|WeBToR]] 18:20, 28 December 2006 (EST))
:-- [[User:WeBToR|WeBToR]] 18:20, 28 December 2006 (EST))
[[Category:Hardware ideas]]
[[Category:Hardware ideas]]

==Computation==

One way to decide whether a given shape displayed in a bit map is a disc is theoretically as follows.

Compute the average of the x coordinates of all of the blue pixels in the shape.

Compute the average of the y coordinates of all of the blue pixels in the shape.

Regard those two average values as the coordinates of the centre of the shape.

Compute the (scalar) moment of inertia of the shape with respect to the (imaginary) axis through the centre of the shape and perpendicular to the plane of the shape. This is done by computing the moment of inertia for each pixel and then adding the results for all of the pixels together to produce a total result.

The distance of each pixel from the centre is also computed and the results for all of the pixels are added together to produce a total result, that total result then being squared.

The first total result is then divided by the second total result, which produces a value. A disc has a characteristic value and other shapes, such as a partially occluded disc, have other values.

A note of the total number of pixels for the shape is also made.

This then means that the discs can, in principle, be selected and the other shapes discarded. Each known disc then has a known centre position and a known radius.

How straightforward or difficult it would be to carry out the above theoretical computation using pictures obtained using a camera on an OLPC laptop and deciding about the position and orientation of the optolabe in real time is something which is presently unknown.

http://en.wikipedia.org/wiki/Moment_of_inertia

Revision as of 15:08, 29 December 2006

Introduction

An optolabe is a hand held computer vision input device designed to allow a user to signal three dimensional movements to a computer, including such things as pitch, roll and yaw.

An optolabe is not electronic, it is just a solid object. It could be made of plastic or wood or whatever, as long as it is the right shape and the right colours.

The optolabe would be of overall size of about a bit larger than a hand. It would consist of six blue spheres of different sizes supported on a neutral coloured frame, maybe beige or grey, with some neutral coloured discs as well. The idea is that from whatever angle a computer vision system sees the optolabe, some of the spheres are seen as blue discs, since a sphere seen from any angle gives the appearance of a disc. The discs in the optolabe are so that the spheres that at any time are on the side of the optolabe away from the computer vision system are occluded, either in whole or in part.

The neutral coloured frame would be in the shape of three-dimensional axes. There would be a blue sphere at each end of each axis.

There would be six neutral coloured discs, each mounted with an axis going through its centre, nearer to the origin than the sphere and almost, but not quite, touching the sphere. This is so that the camera view of a sphere is not occluded by the disc if the camera view is directly at right angles to the axis: the discs are to occlude views of blue spheres through the optolabe, not to occlude direct sideways views of spheres.

Questions

What happens if a blue sphere is only partly occluded?

Then it presents a blue shape of some sort to the computer vision system. If the blue shape that is received is not a disc, then it is ignored.

Have you got it working?

No.

Can it be made to work so that children using an OLPC laptop fitted with a camera can use an optolabe to signal three-dimensional information?

?

Documentation

The documentation would include a number of short modules dealing with well established matters, such as three dimensional geometry and the mathematics of rotations; and also the basic technology of existing computer vision systems.

There would be a module clearly stating the theory of the optolabe, the module clearly being marked as research work that is not as yet part of accepted theory.

There could be research modules so that people can try to work on part of the development of the optolabe.

Historical note

This page started with a chapter of a science fiction story, the particular chapter having been written in 1998 and published on the web at that time.

The author of the story hopes that the optolabe can be developed and become a useful peripheral for the OLPC laptop for use in conjunction with a miniature camera.

Rebuttal of the Idea

There is not much point in posting pages with speculative ideas that are not backed by research and/or implementation. In this case, motion tracking does not require objects with lots of spheres since researchers have already implemented such systems to track hands or lips. http://www.robots.ox.ac.uk/~vdg/abstracts/siggraph94.html

An existing product works similar to the Optolabe. Colleagues of mine use one in their simulator room for 3D manipulation of stereoscopic images. It's a hand-held device with a mesh of reflective spheres that create a unique pattern for each orientation. It uses two camera's for absolute positioning and needs IR floodlighting. Additional buttons add functions like 'grab the object'. A couple of dozen times more expensive than an olpc laptop so not really an option here.
Another single-camera prototype: http://www.inrialpes.fr/sed/6doftracker/index.htm
-- WeBToR 18:20, 28 December 2006 (EST))

Computation

One way to decide whether a given shape displayed in a bit map is a disc is theoretically as follows.

Compute the average of the x coordinates of all of the blue pixels in the shape.

Compute the average of the y coordinates of all of the blue pixels in the shape.

Regard those two average values as the coordinates of the centre of the shape.

Compute the (scalar) moment of inertia of the shape with respect to the (imaginary) axis through the centre of the shape and perpendicular to the plane of the shape. This is done by computing the moment of inertia for each pixel and then adding the results for all of the pixels together to produce a total result.

The distance of each pixel from the centre is also computed and the results for all of the pixels are added together to produce a total result, that total result then being squared.

The first total result is then divided by the second total result, which produces a value. A disc has a characteristic value and other shapes, such as a partially occluded disc, have other values.

A note of the total number of pixels for the shape is also made.

This then means that the discs can, in principle, be selected and the other shapes discarded. Each known disc then has a known centre position and a known radius.

How straightforward or difficult it would be to carry out the above theoretical computation using pictures obtained using a camera on an OLPC laptop and deciding about the position and orientation of the optolabe in real time is something which is presently unknown.

http://en.wikipedia.org/wiki/Moment_of_inertia