Effect of Textures and Motion on 3D Shape Perception in Visualization

A key objective in visualization research is to design and implement algorithms to effectively communicate scientific data so that the essential features of the data can be understood intuitively and accurately.
The accurate perception of shape and surface details is crucial for correctly interpreting the images.
Previous research has shown that humans can perceive three-dimensional shape from two-dimensional images using the pictorial cues present in the images.
For example, shading is a pictorial cue that can be very effective in conveying three-dimensional shape. However, shading alone is not optimal for all purposes, since shading does not provide sufficient detail of local shape when the viewers zoom in on a part of the object (As shown in Figure 1 below).

Figure 1: Global View V.S. Local View

Previous studies have shown that using an appropriate texture can provide improved perception of the shape of an object:

Figure 2: Visual Perception of Smoothly Curved Surfaces from Double-Projected Contour Patterns

As we saw from Figure 2, for example, image a provides better shape perception then image d, so texture in image a is more appropriate then the one in image d.

Previous studies have also found that the first principal direction textures improve perception of 3D shapes best. The first principal direction of a vertex on a surface is the greatest curvature at that point. Figure 3 is another image with four different textures where the top left one uses first principal direction, the top right on uses isomorphic texture, the bottom left one has swirly texture and the bottom right one applies uniform texture.

Figure 3: Different kinds of Textures on same Image

In our project, we consider the impact of motion on the accuracy of shape perception. Structure-from-motion provides a strong shape cue and we hope to evaluate its effect on shape perception by comparing the accuracy obtained through motion of a textured object itself, and through the motion of texture on a stationary object. The project goal for this eight-week research is to create moving texture in which the texture elements follow principal directions.

We started with simple 3D shapes for testing: ellipse, cylinder, and saddle. We extended our testing to complex shapes such as a spline terrain.

Figure 4 and 5 show the visualization of the cylinder and simple terrain models using their triangular faces. The library we use for drawing shapes (as well as their textures which will show later) in python is named pyglet.

Figure 4: Triangle Surface for Cylinder

Figure 5: Triangle Surface for Spline

We then added the first principal direction textures to each surface (as shown in the following two figures). Principal direction lines for each point are in yellow color:

Figure 6: Triangle Surface + 1st Principal Direction for Cylinder

Figure 7: Triangle Surface + 1st Principal Direction for Spline

Furthermore, we added motion to the first principal direction textures. See Figure 8 and 9 for the results:

Figure 8: Triangle Surface + moving 1st principal Direction Texture for Cylinder

Figure 9: Triangle Surface + moving 1st principal Direction Texture for Spline

We have attempted to use a non-photorealistic rendering (NPR) technique to create better images. Figure 10 and 11 show the same cylinder and spline shapes with moving lines along the first principal directions (colored in purple).

Figure 10: Triangle Surface + moving 1st principal Direction Texture for Cylinder

Figure 11: Triangle Surface + moving 1st principal Direction Texture for Spline

In our current algorithm, one stroke is created for each triangle and for a large model we may end up with too many strokes that are too close to each other. In order to more evenly spaced them out, we apply a clustering algorithm which groups triangles on the surface based on the nearness. Figure 12 and 13 show color coded clusters on a half cylinder model and a spline model .

Figure 12: Color coded clusters on half cylinder model

Figure 13: Color coded clusters on spline model

Figure 14 and 15 show moving textures with one stroke per cluster on a half cylinder model. For each cluster, the stroke that was closest to the centroid of the cluster would be picked.

Figure 14: One stroke per cluster on half cylinder model with its own color

Figure 15: One stroke per cluster on half cylinder model with  uniform color

Figure 16 and 17 show moving textures with one stroke per cluster on a spline model. The strokes are picked the same way as explained above.

Figure 16: One stroke per cluster on spline model with its own color

Figure 17: One stroke per cluster on spline model with uniform color

Future work of this research includes improving the moving textures on complex models that have many changing directions as well as designing and running a user study to compare the performance of human observers on shape perception tasks under two different motion conditions: the motion of a textured object itself, and  the motion of texture on a stationary object.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s