https://github.com/joerivandervelde/animated-sirds
Exploring factors that influence the credibility of animated single-image random-dot stereograms
https://github.com/joerivandervelde/animated-sirds
animation asirds sirds stereogram stereogram-generator
Last synced: 4 months ago
JSON representation
Exploring factors that influence the credibility of animated single-image random-dot stereograms
- Host: GitHub
- URL: https://github.com/joerivandervelde/animated-sirds
- Owner: joerivandervelde
- Created: 2021-12-10T15:15:12.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-01-14T20:57:22.000Z (over 3 years ago)
- Last Synced: 2025-01-13T18:55:36.932Z (5 months ago)
- Topics: animation, asirds, sirds, stereogram, stereogram-generator
- Language: Java
- Homepage:
- Size: 7.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Determinants of convincing SIRDS animations
## SIRDS in a nutshell
[Stereograms](https://en.wikipedia.org/wiki/Stereoscopy) consist of two images that can merge to produce three-dimensional scenes.
This effect caused by providing differential depth information to your eyes.
In an [autostereogram](https://en.wikipedia.org/wiki/Autostereogram), a 3D scene is contained in one image by repeating narrow strips.
A single-image random-dot stereogram (SIRDS) is type of autostereogram in which these strips are random dot patterns.
At first glance, SIRDS resemble random static noise, but a hidden scene will be revealed when the image is viewed correctly.
SIRDS are usually still, but multiple images may be concatenated into an animated SIRDS (ASIRDS).
But what determines whether an ASIRDS looks good or not?
We can do some highly subjective experiments to perhaps get some clues.
But let's start at the beginning.## How to view a SIRDS
Let's take a simple image of a sphere.
The grayscale values act like a depth map, where white is closest and black is farthest.
We then convert the image into a SIRDS.
There sphere can be seen again by letting the focal point of your eyesight move past the screen until the black dots overlap.
Let your eyes adjust to the depth effect of the image.
If you are wearing eyeglasses, taking them off might make this easier.
## Animating a SIRDS
We can animate the sphere by letting it move in a circular orbit.
To achieve this in a simple way, we let the both the radius of the sphere and its depth (i.e. grayness) depend on the distance.
When converted into an ASIRDS, the result is a smoothly orbiting sphere with a convincing depth effect that is easy to follow.
This will be our reference image.
## Experiment 1: reusing the pattern
In the reference image, we generate a new random dot pattern for each frame.
This seems to be the norm for these type of animations.
But is that necessary?
Let's use the reference image from before.
What happens when we simply re-use the random dot pattern from the first frame, for all following frames, when converting to an ASIRDS?
The result is a calmer image where the sphere can still be seen moving.
However, background echos from the stereoscopic encoding technique seem to make it nearly impossible to track the sphere in 3D.
## Experiment 2: no depth scaling
What happens when we disable the scaling of the grayscale depth values with distance?
The input image is similar to that of before, except the sphere is equally bright at all positions.
The result is at first glance similar to our reference image, but tracking the sphere with your eyes around its farthest point feels less natural and requires more effort.

## Experiment 3: no size scaling
What happens if we disable distance scaling of the sphere's radius but leave depth scaling untouched?
Does the sphere's movement still appear as circular despite the lack of shape information?
The input image would look like this:
When viewed as an ASIRDS, the animation is smooth and easy to follow.
However, instead of a circular orbit, the sphere seems to emerge from the background, move to the right, submerge into the background, and later re-appear on the left.
## Experiment 4: color vs monochrome
Would a colored ASIRDS be easier to view than a monochrome one?
Let's use our reference image as a starting point.
But instead of the monochrome color palette used so far, we use random RGB colors.
Compared to the reference ASIRDS, the colors seem to make the scene more smooth and subtle, but somehow also more bland.
## Experiment 5: low vs normal resolution
Finally, we can test if image resolution makes a difference in viewing experience.
Again we use the reference image.
This time, we lower the resolution by copying every other pixel to its neighbouring position.
The image width and height do not change, but one pixel is now the size of four, and three are lost.
While the sphere is trackable, the depth effect is surprisingly awkward to view, as if your eyes cannot focus properly on the object.
## Conclusions
A credible ASIRDS seems to depend on depth scaling proportional to object size, a fresh random dot pattern for each frame, and a high (or high enough) image resolution.
The used color palette does not seem to matter much.
These conclusions, based on a single input image and handful of opinions by one observer, should be regarded as speculation.