Tuesday, February 25, 2014

Frame Sequence Generator 4 (FSG4)

Frame Sequence Generator 4 (FSG4) generates synthetic frames (virtual views) given a reference image and a disparity/depth map. The inpainting process which fills areas that become disoccluded uses a Gaussian blur (controlled by radius and gamma proximity).

If image.xxx is the reference image, the frames generated will be named frame01.xxx, frame02.xxx, etc. The file format of the reference image dictates the file format of the generated frames. For example, if the reference image is in the png image file format, the generated frames will be in the png file format. Same idea for jpeg and tiff, the other two main image file formats.

Below is a little blurb about what each parameter does.

- Stereo window (grayscale value): Positions the stereo window in the depth map. As you know, 0 is black and 255 is white, so giving a value between 0 and 255 positions the stereo window in the depth map. If the stereo window is set to 0, the stereo window is in the background which is gonna remain stationary and the foreground is gonna move. If the stereo window is set to 255, the stereo window is in the foreground which is gonna remain stationery and the background is gonna move. Clearly, the stereo window can be set anywhere between 0 and 255.
- Stereo effect (percentage): The larger the stereo effect, the more things are gonna move and the harder it's gonna be to paint the disoccluded areas.
- Number of frames: No need to explain further. If it's an odd number, the reference image will be one of the frames, the one in the middle of the sequence (for example, frame 3 if 5 frames are requested).
- Radius: The larger the radius, the more blurring will be applied to the inpainted areas.
- Gamma proximity: Controls the shape of the bell curve that's used in the Gaussian blur. The larger the gamma, the flatter the bell curve and the more blurring is applied for a given radius.
- Maxiter: Controls the number of iterations performed when solving the equations needed to solve the Gaussian blur.

As far as inpainting quality is concerned, the parameter that gives the more bang for the buck is without a doubt the radius. If the inpainted areas look do not look quite right, the radius should be increased (so that more neighboring pixels are involved in the blurring). If the inpainted look horrible no matter what in some areas, it's very likely the depth map is bad in those areas.

The disparity/depth map should be a grayscale image where white indicates closest foreground object and black indicates furthest background object. The disparity/depth map doesn't need to come from any of my programs.

Here's an example:

Reference image.

Dense depth map.

Wigglegram/wobble made up of 12 synthetic views.

The windows executable (guaranteed to be virus free) is available for free via the 3D Software Page. Please, refer to the 'Help->About' page in the actual program for how to use it.

No comments:

Post a Comment