LightTwist (UNDER CONSTRUCTION)
LightTwist is a software that allows for projecting images from multiple projectors onto surfaces with complex geometry. LightTwist is currently under development at the University of Montreal in the lab of Professor Roy. The key is to fill up the field of view of the viewer with images, thus creating an immersion experience. This is achieved by projecting images on the surfaces that “wrap around” the viewer (e.g. projecting on the walls in the room).
- surface to be projected on;
- camera (to be placed where the viewer will be);
- network for synchronization between the camera and projectors.
Flat screen and projector are perfectly aligned with the viewer. Since the observer is replaced by the camera, all we need to do is to find the invertible map between the pixels in the camera and pixels in the projector. The approach limited to only flat surfaces is to use homographies represented by 3x3 invertible matrices to get the transformation.
- arbitrary geometry of the screen;
- multiple projectors not necessarily aligned with the user;
- catadioptric or fisheye lens to capture what observer sees in this case;
- use of homographies to establish the camera-projectors transformation is no longer possible. The solution to this is to use structured light instead.
The idea is to project a pattern of black and white stripes (horizontal and vertical to capture x and y coordinates) that encode the projector points. Stripes of width 2^(b-1) (b = 1,...,n) pixels are used to encode n bits. Get the binary coordinates bitwise. In practice bit 1 and 2 are useless since stripes get too narrow for camera to distinguish.
- using structured light we don't need to know the locations of the camera and projector, also there is no need to calibrate camera or projectors.
- projection surface: is it absolutely arbitrary. Projection is even possible on the surfaces with gaps.
- high quality of the projected images/videos.
- immersion experience.
- space. There are two possible ways of placing the projectors: they can be inside or outside relative to the surface and viewers. In any case projectors have to be several meters away from the surface to avoid occlusion of view.
- resolution. Is a big problem due both to the lack of content of appropriate quality and difficulties in managing large amounts of data. If for stale images this problem is solvable, for video it becomes a big issue, since there are no video cameras that can provide such high resolution.
- reconstruction precision. There is a big difference between the resolution of a camera and projector. The ratio is normally 4:1 (camera having 1000x1000 pixels and projectors having 4000 x 768 pixels approx.) and can go up to 8:1 when projecting on the hemisphere. This complicates the algorithm for mapping.
- setting up the network. We need one computer for each projector and a camera plus an extra computer to synchronize (LightTwist uses PureData to generate messages to control computers in the network).
- bandwidth. It is hard to manage images of size 4096x768 (in case of 4 projectors). It is even harder to manage video.
- lack of content of appropriate quality. It is not the biggest challenge when it comes to images, but there is no video camera that can support required resolution yet.
- limited spots from which the image looks undistorted (flat surface gives the most range, more complicated surfaces generally put some limitations on the location of the viewer).
As projectors become more available, there will be more interest in creating interactive environments. LightTwist is one of the tools that can make it easy for the user. There are a lot of possible applications for the LightTwist:
- it has a great artistic potential, since it can greatly enhance the impression from the artwork;
- use in medicine (e.g. projecting information obtained from MRI scanner directly on the body of the patient);
- use in education (e.g. create a planetarium in a classroom, again use for medical studies);
LightTwist and Hugin
Both applications will win from the cooperation. LightTwist is the tool, that can best showcase the features of Hugin. Hugin on the other hand is a free tool that is capable of creating high-quality content for the LightTwist. It will be beneficial for the LigthTwist to get introduced to the OpenSource community, such as Hugin. Besides being able to participate in the development process, these people are also the potential users of the application.