Issue: Volume: 23 Issue: 5 (May 2000)

REVIEWS: The Image Processing Factory

A new player on the visual-effects scene, RealViz is poised to make a name for itself with the Image Processing Factory (IPF), a suite of integrated tools that tackles one of the most daunting tasks in computer graphics: mixing live-action photos and footage with 3D digital objects. The IPF suite includes four tools: Stitcher, ReTimer, MatchMover, and ImageModeler. Each is sold separately or as part of a bundle, with export capability to all major commercial 3D applications.

With Stitcher, you can automatically stitch together 2D photos to create panoramas that can be used as reflection maps, environment maps, and backgrounds in 3D scenes. Stitcher also can be used to create VRML environments. Because Stitcher is a 3D application, it automatically compensates for the 3D distortion inherent in panoramic images. Stitcher's interface is simple and easy to comprehend. It features a tool bar along the top, a mosaic window along the bottom that shows the component images (or photos), and a building area in the middle. After scanning your photos into the computer, you drag the images from the mosaic window into the building area and line them up to form a rough panorama. Then you press a button, and Stitcher warps and tiles each image so they fit into one panorama. Stitcher provides tools for panning, zooming, and rotating the panoramic image.

Stitcher typically does an ex cellent job of rotating and distorting the im ages to line them up. Some times, however, you must re align the im ages if the software doesn't find enough similar pixels. Also, you must make sure the focal length specified in Stitcher matches that of the camera used to shoot the images; otherwise, the images will be improperly distorted and will not line up. After the images are stitched, you can export them as a planar or cubic map for use in almost any 3D animation package.
ReTimer shows how it is calculating new frames to speed up or slow down footage by placing a grid over the image being retimed. Lines represent moving parts of the image, whereas dots represent still areas.

ReTimer is one of the coolest applications I've seen in a while. Like Stitcher, ReTimer performs one operation very well; in this case, it slows down or speeds up the frame rate of a footage sequence by generating automatic in-be tween frames. This enables you to lengthen a sequence, or slow down or speed up a sequence on the fly. The software is particularly good at creating slow motion from normally shot footage.

In working its magic, ReTimer generates the in-between frames using proprietary pixel pattern-recognition technology. After the footage is scanned into the computer, the software analyzes the motion of each pixel (or group of pixels) and creates a motion vector describing the relative motion of each part of the image. Elements in the current frame are warped forward along each motion vector, and elements in the next frame are warped backward along those vectors to create the new in-between frame. The degree of morphing and the length and direction of the motion vector depend on the number of intermediate frames you want to create.
Stitcher enables you to stitch images into a seamless whole, such as this street scene.

ReTimer imports footage as still-image sequences in at least a half-dozen popular formats, including TGA, JPG, and TIF, as well as movies in AVI format. Unfor tu nately, QuickTime support is noticeably absent.

When the images are loaded, you can re-time them in several ways. You can speed up or slow down the entire sequence by a specified factor, re-time the entire sequence to a specific number of frames, or employ a user-defined curve, which enables speed changes within the sequence. The software includes a nice curve editor to smoothly transition between speeds.

After the sequence is re-timed, you can step through the images one frame at a time to view the results. If an area of the in-between image is positioned incorrectly, ReTimer displays the motion of the pixels in the image and offers tools to help correct the problems. The software shows how it is calculating the in-between frames by placing a grid of dots over the original image being re-timed. The parts of the image that are still are shown as dots, and the parts that are moving are shown as lines (vectors). You can reposition these vectors to put pixels that have gone astray in their proper places.
ImageModeler creates textured 3D models from as few as four 2D photographs.

One terrific feature of ReTimer is its ability to add motion blur to a scene. Blurs can be created on a pixel-by-pixel basis, so some parts of the image can appear to be moving faster. This is essential for realistic effects, but is particularly cool for doing stop-motion animation, as it can add a touch of realism that is almost impossible to accomplish otherwise. As a test, I took a snippet of stop-motion animation that was shot at 12 frames per second (fps) and re-timed it to 24 fps with motion blur. The results made the motion look smooth and fluid.

Generally, ReTimer works well with most subjects, but complex im ages-such as a crowded city street-can confuse the application. The software supports mattes, so you can cut out the parts of the image that need to be re-timed for compositing into other sequences. Unfortunately, the software does not support alpha channels, so mattes must be saved as a separate sequence or movie.

MatchMover is a camera-tracking utility that automatically recognizes points in a moving image and adjusts several user-defined markers to track these points. The software is a bit more complex to use than Stitcher or ReTimer, but match moving is a more complex operation.

To use MatchMover, you scan footage into your computer and choose points in the footage to track. RealViz suggests at least eight points, but the more, the better. Like Re Timer, MatchMover im ports foot age as se quences of still images or as AVI files, with support for QuickTime again lacking. After the footage is loaded, you add points for the software to track by selecting "New Track" from a pull-down menu and left-clicking the area of the imagery to track. The points chosen should have a high degree of contrast so the software can recognize them.
MatchMover is a camera-tracking application that tracks points on a moving image (such as this chimpanzee's face) to derive the camera information for a 3D application.

The software works best when it understands the relationship of the points. For example, points that can define a plane, such as points on the ground plane, the wall of a building, or a tabletop, can be helpful in placing the camera. You de fine these planes through the use of coordinate systems, or groups of three points that define a plane. You also can define other relationships, such as points that determine the X, Y, or Z axes of the scene.

After the points are defined, the software interprets the points in the scene, then works backward to generate a placement for the camera, its motion, and apparent focal length. To help things along, you can input known camera data, such as lens type, via a dialog box, which can make the solution more accurate. One particularly compelling feature of MatchMover is its support for cameras that simultaneously move and zoom, a limitation of many camera-matching applications.

When the software has ascertained the camera position, you can import a simple 3D primitive, such as a cube or cylinder, into the scene and render a test. If the primitive is stable against the background, the tracking is correct. You can then import the tracking data to several 3D packages, including Alias|Wave front's Maya, Soft image, Dis creet's 3D Studio Max, and NewTek's Light Wave. I tested compatibility with Maya and Max, and both worked well. Maya import was accomplished through the Maya ASCII format. Import into Max was odd, as MatchMover created a MaxScript file which, when run, created the camera and position markers. Although this worked, it would be more elegant if RealViz created an export module that supported MAX binaries.

The final application, which I did not test, but which will be available by the time you read this, is ImageModeler, a program that creates 3D models with textures from as few as four photos; you can use the models as stand-ins for real objects in a scene. In the ImageModeler demo I saw, the user replaced a Steadi-Cam camera in a fly-through of a city street by animating a virtual camera in Softimage. The street was photographed as a series of still images, which were turned into a reasonably accurate 3D model of the street. Other elements were then composited on top of the rendered footage.

ImageModeler is good for creating static models but not models that change shape. If you want to create an animatable face model, for example, Image Modeler might be able to give you the basic shape, but animating it would require you to rebuild the face with animation in mind.

Even at first release, all the packages in the IPF suite are production-ready and produce excellent results with a minimum of effort. At $12,000 for the complete bundle, the entry price is a bit steep, but if you're involved in hard-core production, it's worth the cost of admission.

George Maestri is a writer and animator living in Los Angeles.

Price: IPF Bundle: $12,000, MatchMover: $6000, ReTimer: $2000, Stitcher: $2000, ImageModeler: $5000
Minimum System Requirements:
Pentium processor; Windows NT 4.0; 1024x768 24-bit minimum display resolution; 64MB of RAM; 25MB of disk space

Los Angeles; Sophia Antipolis, France